import RealtimeKitClient from '@cloudflare/realtimekit'; import { ConnectedMeetingParticipant, ConnectedMeetingState } from '../types/props'; export type DraftMeeting = { id: string; title: string; participants: ConnectedMeetingParticipant[]; isParent: boolean; }; type MeetingDetails = Omit; export default class BreakoutRoomsManager { private _hasLocalChanges; private _state; private _participantsNewMeetingMap; private _participantsOldMeetingMap; private _meetingParticipantsMap; private _allParticipantsMap; private _allMeetingsMap; private _meetingsToUpdate; private _meetingsToDelete; private _init; private _addNewMeetingToState; private _addNewParticipantToState; private _replaceDraftMeetingIds; private _getMeetingParticipants; get hasLocalChanges(): boolean; get currentState(): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; get allConnectedMeetings(): DraftMeeting[]; get allParticipants(): ConnectedMeetingParticipant[]; get unassignedParticipants(): ConnectedMeetingParticipant[]; getParticipantsForMeeting(meetingId: string): ConnectedMeetingParticipant[]; addNewMeeting(): MeetingDetails; addNewMeetings(count: number): MeetingDetails[]; updateMeetingTitle(meetingId: string, newTitle: string): void; deleteMeeting(meetingId: string): void; assignParticipantsToMeeting(customParticipantIds: string[], destinationMeetingId: string): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; assignParticipantsRandomly(): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; unassignParticipants(customParticipantIds: string[]): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; unassignAllParticipants(): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; updateCurrentState(state: ConnectedMeetingState): void; get meetingsToCreate(): { id: string; title: string; }[]; get meetingsToUpdate(): { id: string; title: string; }[]; get meetingsToDelete(): string[]; get participantsToMove(): { sourceMeetingId: string; destinationMeetingId: string; participantIds: string[]; }[]; applyChanges(meeting: RealtimeKitClient): Promise; discardChanges(): { parentMeeting: DraftMeeting; meetings: DraftMeeting[]; }; } export {}; //# sourceMappingURL=breakout-rooms-manager.d.ts.map