import { Camera } from 'three';
import { Constructor } from '../../types/GlobalTypes';
export declare function CoreCameraViewerCodeParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param viewerId */
        viewerId: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.STRING>;
        /** @param shadow root */
        /** @param HTML */
        html: import("../../engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("../../engine/index_all").ParamType.STRING>;
    };
} & TBase;
interface CreateViewerCodeOptions {
    camera: Camera;
}
interface ViewerConfigOptions {
    viewerId: string;
    html: string;
}
interface CreateViewerElementOptions {
    domElement: HTMLElement;
    canvas: HTMLCanvasElement;
    CSSClass: string;
}
export declare class ViewerCodeConfig {
    readonly options: ViewerConfigOptions;
    constructor(options: ViewerConfigOptions);
    createViewerElement(options: CreateViewerElementOptions): Element | undefined;
}
export declare class CoreCameraViewerCodeController {
    static viewerCodeConfig(options: CreateViewerCodeOptions): ViewerCodeConfig | undefined;
}
export {};
