import { Constructor } from '../../../../../types/GlobalTypes';
import { RootManagerNode } from '../../Root';
export declare enum BackgroundMode {
    NONE = "none",
    COLOR = "color",
    TEXTURE = "texture"
}
export declare const BACKGROUND_MODES: BackgroundMode[];
export declare function SceneBackgroundParamConfig<TBase extends Constructor>(Base: TBase): {
    new (...args: any[]): {
        /** @param set background mode (none, color or texture). Note that in order to have a transparent background, you also need to set the renderer's alpha to true. In order to do so, you may need to create a rop/WebGLRenderer node, set it alpha parameter, and assign the node to your camera. */
        backgroundMode: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.INTEGER>;
        /** @param background color */
        bgColor: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.COLOR>;
        /** @param background texture */
        bgTexture: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.NODE_PATH>;
        /** @param background blur */
        bgBlur: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.FLOAT>;
        /** @param background intensity */
        bgIntensity: import("../../../utils/params/ParamsConfig").ParamTemplate<import("../../../../index_all").ParamType.FLOAT>;
    };
} & TBase;
export declare class SceneBackgroundController {
    protected node: RootManagerNode;
    constructor(node: RootManagerNode);
    addHooks(): void;
    setMode(mode: BackgroundMode): void;
    backgroundMode(): BackgroundMode;
    private _updateBound;
    update(): Promise<void>;
    private _setBackgroundNone;
    private _setBackgroundColor;
    private _setBackgroundTexture;
    static update(node: RootManagerNode): void;
}
