import { IconPack } from '../../lib/icons';
import { RtkI18n } from '../../lib/lang';
import { UIConfig } from '../../types/ui-config';
import { Meeting } from '../../types/rtk-client';
import { SocketConnectionState } from '@cloudflare/realtimekit';
import { States } from '../../types/props';
/**
 * A screen that handles the idle state,
 * i.e; when you are waiting for data about the meeting, specifically the `meeting` object.
 */
export declare class RtkIdleScreen {
    /** Meeting */
    meeting: Meeting;
    /** States object */
    states: States;
    /** Config object */
    config: UIConfig;
    /** Icon pack */
    iconPack: IconPack;
    /** Language */
    t: RtkI18n;
    joinError: string | undefined;
    joinErrorCode: string | undefined;
    connectionState: SocketConnectionState['state'];
    connectedCallback(): void;
    disconnectedCallback(): void;
    meetingChanged(meeting: Meeting, oldMeeting?: Meeting): void;
    private socketStateUpdate;
    statesChanged(states: States): void;
    render(): any;
}
