export type LayoutMode = 'grid' | 'active-speaker';
export type DeviceLayoutMode = 'desktop' | 'mobile' | 'auto';
export type ManagedLayoutOptions = {
    layoutMode?: LayoutMode;
    cameraPublisherContainer?: HTMLElement | string;
    screenPublisherContainer?: HTMLElement | string;
    deviceLayoutMode?: DeviceLayoutMode;
    speakerHighlightEnabled?: boolean;
    speakerHighlightColor?: string;
};
export type RoomProperties = {
    apiKey: string;
    sessionId: string;
    token: string;
    iceConfig?: IceConfig;
    roomContainer?: HTMLElement | string;
    mediaShutoffThreshold?: number;
    maxVideoParticipantsOnScreen?: number;
    managedLayoutOptions?: ManagedLayoutOptions;
    participantName?: string;
    participantInitials?: string;
    encryptionSecret?: string;
};
export type IceConfig = {
    includeServers: IncludeServers;
    transportPolicy: TransportPolicy;
    customServers: Array<CustomServer>;
};
export type IncludeServers = 'all' | 'custom';
export type TransportPolicy = 'all' | 'relay';
export type CustomServer = {
    urls: string | string[];
    username: string;
    credential: string;
};
export type BackgroundBlurFilter = {
    type: 'backgroundBlur';
    blurStrength?: 'low' | 'high';
};
export type BackgroundReplacementFilter = {
    type: 'backgroundReplacement';
    backgroundImgUrl: string;
};
export type VideoFilter = BackgroundBlurFilter | BackgroundReplacementFilter;
