import { Camera } from 'three';
import { TypedViewer } from '../../engine/viewers/_Base';
type ViewerCreateCallback<C extends Camera> = (camera: C) => TypedViewer<C>;
export declare class CoreViewerController {
    private _registeredViewerCreateCallbackByCamera;
    constructor();
    register<C extends Camera>(cameraClass: any, viewerCreateCallback: ViewerCreateCallback<any>): void;
    createViewer<C extends Camera>(camera: any): TypedViewer<Camera> | undefined;
}
export {};
