import { Breakpoint } from '../../hooks/useDeviceSize';
import { Credentials } from '../../types';

export type UserRole = 'ATTENDEE' | 'PANELIST' | 'HOST';
export declare enum SessionStatus {
    NOT_STARTED = "NOT_STARTED",
    ONLY_PANELIST = "ONLY_PANELIST",
    IN_PROGRESS = "IN_PROGRESS",
    CLOSED = "CLOSED"
}
export type VideoPluginContextType = {
    credentials: Credentials;
    changeUserRole?: (user: {
        censusUserId: string;
        role: UserRole;
    }) => Promise<void>;
    breakpoint: Breakpoint;
    changePluginBreakpoint: (newBreakpoint: Breakpoint) => void;
    sessionStatus: SessionStatus;
    initVotingPreSession: () => Promise<void>;
    initVotingSession: () => Promise<void>;
    closeVotingSession: () => Promise<void>;
    restartSession: () => Promise<void>;
    onJoin?: () => void;
    onExit?: () => void;
    isFinishForAllEnabled: boolean;
    allowLiveTranscription: boolean;
    allowRecording: boolean;
};
export declare const VideoPluginContext: import('react').Context<VideoPluginContextType>;
export declare const useVideoPluginContext: () => VideoPluginContextType;
