import { Org } from '../core/entity/Org.ts';
import { OrgMember } from '../core/entity/OrgMember.ts';
import { Team } from '../core/entity/Team.ts';
import { TeamMember } from '../core/entity/TeamMember.ts';
import { AbstractRepository } from './AbstractRepository.ts';
export declare class OrgRepository extends AbstractRepository {
    private readonly Org;
    private readonly OrgMember;
    private readonly Team;
    private readonly TeamMember;
    private readonly TeamPackage;
    findOrgByName(name: string): Promise<Org | null>;
    findOrgByOrgId(orgId: string): Promise<Org | null>;
    saveOrg(org: Org): Promise<void>;
    removeOrg(orgId: string): Promise<void>;
    findMember(orgId: string, userId: string): Promise<OrgMember | null>;
    saveMember(member: OrgMember): Promise<void>;
    removeMember(orgId: string, userId: string): Promise<void>;
    listMembers(orgId: string): Promise<OrgMember[]>;
    removeAllMembers(orgId: string): Promise<void>;
    createOrgCascade(org: Org, developersTeam: Team, ownerMember: OrgMember, teamMember: TeamMember): Promise<void>;
    removeOrgCascade(orgId: string): Promise<void>;
}
