export interface TeamData { name?: string; [key: string]: unknown; } export type TeamCallback = (teamId: string, teamData: TeamData) => void; export interface TeamRegistryOptions { onSetup: TeamCallback; onTeardown: TeamCallback; } export type TeamDocChange = { type: 'added'; id: string; data: TeamData; } | { type: 'modified'; id: string; data: TeamData; } | { type: 'removed'; id: string; }; export declare class TeamRegistry { private readonly teams; private readonly teamIdsByName; private readonly onSetup; private readonly onTeardown; constructor({ onSetup, onTeardown }: TeamRegistryOptions); bootstrap(teamId: string, teamData: TeamData): boolean; add(teamId: string, teamData: TeamData): boolean; modify(teamId: string, teamData: TeamData): boolean; remove(teamId: string): boolean; applyChange(change: TeamDocChange): boolean; has(teamId: string): boolean; get(teamId: string): TeamData | undefined; getIdByName(teamName: string): string | undefined; size(): number; entries(): IterableIterator<[string, TeamData]>; names(): string[]; teamIdsByNameMap(): Map; } //# sourceMappingURL=team-registry.d.ts.map