import { Constructor } from '../../../../../types/GlobalTypes';
import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer';
import { Vector2 } from 'three/src/math/Vector2';
import { Scene } from 'three/src/scenes/Scene';
import { BaseThreejsCameraObjNodeType } from '../../_BaseCamera';
export declare function CameraRenderParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        render: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.FOLDER>;
        setScene: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param override rendered scene */
        scene: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.OPERATOR_PATH>;
        setRenderer: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param override renderer used */
        renderer: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.OPERATOR_PATH>;
        setCssRenderer: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.BOOLEAN>;
        /** @param add a css renderer */
        cssRenderer: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../poly/ParamType").ParamType.OPERATOR_PATH>;
    };
} & TBase;
export declare class RenderController {
    private node;
    private _renderers_by_canvas_id;
    private _resolution_by_canvas_id;
    private _resolved_scene;
    private _resolved_renderer_rop;
    private _resolved_cssRenderer_rop;
    constructor(node: BaseThreejsCameraObjNodeType);
    render(canvas: HTMLCanvasElement, size?: Vector2, aspect?: number): void;
    render_with_renderer(canvas: HTMLCanvasElement): void;
    update(): Promise<void>;
    get resolved_scene(): Scene | undefined;
    private update_scene;
    private update_renderer;
    private update_cssRenderer;
    renderer(canvas: HTMLCanvasElement): WebGLRenderer;
    cssRenderer(canvas: HTMLCanvasElement): import("../../../../../modules/core/renderers/CSS2DRenderer").CSS2DRenderer | import("../../../../../modules/three/examples/jsm/renderers/CSS3DRenderer").CSS3DRenderer | undefined;
    private _super_sampling_size;
    createRenderer(canvas: HTMLCanvasElement, size: Vector2): WebGLRenderer | undefined;
    private static _create_default_renderer;
    delete_renderer(canvas: HTMLCanvasElement): void;
    canvas_resolution(canvas: HTMLCanvasElement): Vector2;
    set_renderer_size(canvas: HTMLCanvasElement, size: Vector2): void;
}
