/// <reference types="node" />
import { EventEmitter } from 'events';
import { JoinRoomParams, Player, Plugins, ReplayRoomParams, Room, ViewMode, WhiteWebSdk } from 'white-web-sdk';
export interface SceneFile {
    name: string;
    type: string;
}
export declare type SceneOption = {
    name?: string;
    type?: string;
    currentScene: boolean;
};
export declare class BoardClient extends EventEmitter {
    client: WhiteWebSdk;
    plugins?: Plugins<Object>;
    room: Room;
    player: Player;
    sceneIndex: number;
    disconnected?: boolean;
    private appIdentifier;
    constructor(config?: {
        identity: string;
        appIdentifier: string;
        enable: boolean;
    });
    initPlugins(identity: string, enable: boolean): void;
    init(): void;
    join(params: JoinRoomParams, isAssistant?: boolean): Promise<void>;
    replay(params: ReplayRoomParams): Promise<void>;
    followMode(mode: ViewMode): void;
    startFollow(): void;
    cancelFollow(): void;
    grantPermission(userUuid: string): void;
    revokePermission(userUuid: string): void;
    destroy(): Promise<void>;
    get bridge(): import("white-web-sdk").InvisiblePlugin<Object> | null | undefined;
}
