/**
 * Creates a Texture from a CubeCamera
 *
 *	@remarks
 *
 * See the [COP/CubeCamera](https://polygonjs.com/docs/nodes/cop/CubeCamera) on how to use it as a texture.
 */
import { TypedCopNode } from './_Base';
import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { Texture } from 'three';
import { CopType } from '../../poly/registers/nodes/types/Cop';
declare class CubeCameraCopParamsConfig extends NodeParamsConfig {
    /** @param cube camera OBJ node */
    cameraPath: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.STRING>;
    /** @param objects to render */
    /** @param defines if the texture is used for reflection or refraction */
    mode: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.INTEGER>;
    /** @param transparent background */
    transparentBackground: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param bg Color */
    backgroundColor: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.COLOR>;
    /** @param autoRender */
    autoRender: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param render button */
    render: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
}
export declare class CubeCameraCopNode extends TypedCopNode<CubeCameraCopParamsConfig> {
    paramsConfig: CubeCameraCopParamsConfig;
    static type(): CopType;
    private _rendererController;
    cook(): Promise<void>;
    private _addOnBeforeTickCallback;
    private _removeOnBeforeTickCallback;
    private _onBeforeRenderCallbackName;
    dispose(): void;
    private _getCameraSync;
    private _getCamera;
    private _renderOnTargetBound;
    private _prevCamera;
    private _prevRenderer;
    renderOnTarget(setDirtyIfChangesDetected: boolean): Promise<Texture | undefined>;
    renderTarget(): Promise<import("three").CubeTexture | undefined>;
    static PARAM_CALLBACK_render(node: CubeCameraCopNode): void;
}
export {};
