export interface MeetingSpace { id: string; callId: number; name: string; autoGenerated: boolean; uri?: string; } export interface MeetingSpacesResponse { total: number; coSpaces: MeetingSpace[]; } export type MeetingSpaceVisibility = 'public-directory' | 'members-guests' | 'members-only' | 'owner-only'; export interface MeetingSpaceAccessRole { id: string; name: string; primary?: boolean; visibility: MeetingSpaceVisibility; passcode: string; activatesMeetingOnJoin: boolean; allowUnauthenticatedJoin: boolean; participantsWaitInLobby: boolean; grantMeetingHostControls: boolean; } export type MeetingSpaceVideoLayout = 'all-equal' | 'speaker-only' | 'telepresence' | 'stacked' | 'one-plus-five' | 'one-plus-seven' | 'one-plus-nine' | 'more'; export type MeetingSpaceVideoQuality = '480p30' | '720p30' | '1080p30'; export type MeetingSpacePresentationQuality = '720p5' | '1080p30'; export interface MeetingSpaceDetails { id: string; name: string; owner: string; description: string; cluster: string; tag: string; meetingId: string; meetingUri: string; secondaryUri: string; password: string; enabled: boolean; accessRolesEnabled: boolean; accessRoles: MeetingSpaceAccessRole[]; defaultVideoLayout: MeetingSpaceVideoLayout; participantLabels: boolean; allowPresentation: boolean; disconnectOthersAllowed: boolean; videoQuality: MeetingSpaceVideoQuality; presentationQuality: MeetingSpacePresentationQuality; allowRecording: boolean; allowStreaming: boolean; sipRecorderUri: string; sipStreamerUri: string; browser_join_link?: string; }