/**
 * generates a cube map from a scene
 *
 *
 */
import { Constructor, valueof } from '../../../types/GlobalTypes';
import { TypedCopNode } from './_Base';
import { GeoNodeChildrenMap } from '../../poly/registers/nodes/Sop';
import { BaseGlNodeType } from '../gl/_Base';
import { NodeContext } from '../../poly/NodeContext';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { NodeCreateOptions } from '../utils/hierarchy/ChildrenController';
import { CopType } from '../../poly/registers/nodes/types/Cop';
import { DisplayNodeController } from '../utils/DisplayNodeController';
import { Texture, WebGLRenderTarget } from 'three';
declare const CubeMapFromSceneCopParamsConfig_base: {
    new (...args: any[]): {
        /** @param force Render */
        blur: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
        /** @param camera near */
        near: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
        /** @param camera far */
        far: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
        /** @param force Render */
        render: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
    };
} & typeof NodeParamsConfig;
declare class CubeMapFromSceneCopParamsConfig extends CubeMapFromSceneCopParamsConfig_base {
}
export declare class CubeMapFromSceneCopNode extends TypedCopNode<CubeMapFromSceneCopParamsConfig> {
    paramsConfig: CubeMapFromSceneCopParamsConfig;
    static type(): CopType;
    private _rendererController;
    private _lastGeneratedRenderTarget;
    lastGeneratedRenderTarget(): WebGLRenderTarget<Texture> | undefined;
    private _setDirtyBound;
    readonly displayNodeController: DisplayNodeController;
    protected _childrenControllerContext: NodeContext;
    initializeNode(): void;
    dispose(): void;
    createNode<S extends keyof GeoNodeChildrenMap>(node_class: S, options?: NodeCreateOptions): GeoNodeChildrenMap[S];
    createNode<K extends valueof<GeoNodeChildrenMap>>(node_class: Constructor<K>, options?: NodeCreateOptions): K;
    children(): BaseGlNodeType[];
    nodesByType<K extends keyof GeoNodeChildrenMap>(type: K): GeoNodeChildrenMap[K][];
    childrenAllowed(): boolean;
    private _setDirty;
    private _cookMainWithoutInputsWhenDirtyBound;
    private _cookMainWithoutInputsWhenDirty;
    cook(): Promise<void>;
    private _renderScene;
    private _pmremGenerator;
    private _updateRenderScene;
    private _renderCubeMap;
    static PARAM_CALLBACK_render(node: CubeMapFromSceneCopNode): Promise<void>;
}
export {};
