import { NodeParamsConfig } from '../utils/params/ParamsConfig';
import { TypedSopNode } from './_Base';
declare class CameraPlaneSopParamsConfig extends NodeParamsConfig {
    /** @param axis perpendicular to the plane */
    direction: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR3>;
    /** @param plane offset */
    offset: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param defines if the plane resolution is sets via the number of segments or via the step size */
    useSegmentsCount: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param step size */
    stepSize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param segments count */
    segments: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.VECTOR2>;
    /** @param multiplies the size of the plane. This can be useful to scale down the plane. While it would cover a smaller part of the view, it would be faster to create  */
    sizeMult: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.FLOAT>;
    /** @param update on window resize  */
    updateOnWindowResize: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BOOLEAN>;
    /** @param update */
    update: import("../utils/params/ParamsConfig").ParamTemplate<import("../../index_all").ParamType.BUTTON>;
}
export declare class CameraPlaneSopNode extends TypedSopNode<CameraPlaneSopParamsConfig> {
    paramsConfig: CameraPlaneSopParamsConfig;
    static type(): string;
    private _raycaster;
    private _coreTransform;
    cook(): Promise<void>;
    private _updateWindowControllerDependency;
    private _computePlaneParams;
    private _createPlane;
    static PARAM_CALLBACK_update(node: CameraPlaneSopNode): void;
    private _paramCallbackUpdate;
}
export {};
