import { BaseViewerType } from '../_Base';
import { BaseSceneEventsControllerType } from '../../scene/utils/events/_BaseEventsController';
declare type EventListener = (e: Event) => void;
declare type ListenerByEventType = Map<string, EventListener>;
export declare class ViewerEventsController {
    protected viewer: BaseViewerType;
    protected _bound_process_event: (event: Event, controller: BaseSceneEventsControllerType) => void;
    protected _bound_listener_map_by_event_controller_type: Map<string, ListenerByEventType>;
    constructor(viewer: BaseViewerType);
    updateEvents(events_controller: BaseSceneEventsControllerType): void;
    cameraNode(): import("../../nodes/obj/_BaseCamera").BaseCameraObjNodeType;
    canvas(): HTMLCanvasElement | undefined;
    init(): void;
    registeredEventTypes(): string[];
    dispose(): void;
    private process_event;
}
export {};
