import type { PermissionString } from "../types/permission-registry";
type DbPermission = {
    resource: string | null;
    action: string | null;
};
type DbRole = {
    id: string | null;
    permissions: DbPermission[];
};
type DbMembership = {
    teamId: number;
    role: DbRole | null;
};
export declare class PermissionRepository {
    getMembershipByMembershipId(membershipId: number): Promise<{
        teamId: number;
        id: number;
        userId: number;
        customRoleId: string | null;
        team_parentId: number | null;
    } | undefined>;
    getMembershipByUserAndTeam(userId: number, teamId: number): Promise<{
        teamId: number;
        id: number;
        userId: number;
        customRoleId: string | null;
        team_parentId: number | null;
    } | undefined>;
    getOrgMembership(userId: number, parentId: number): Promise<{
        teamId: number;
        id: number;
        userId: number;
        customRoleId: string | null;
    } | undefined>;
    getUserMemberships(userId: number): Promise<DbMembership[]>;
    checkRolePermission(roleId: string, permission: PermissionString): Promise<boolean>;
    checkRolePermissions(roleId: string, permissions: PermissionString[]): Promise<boolean>;
}
export {};
//# sourceMappingURL=permission.repository.d.ts.map