import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { CameraSopNodeType } from '../../poly/NodeContext';
import type { PolyScene } from '../../scene/PolyScene';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
interface CameraWebXRVRSopParams extends DefaultOperationParams {
    group: string;
    localFloor: number;
    boundedFloor: number;
    handTracking: number;
    layers: number;
    overrideReferenceSpaceType: boolean;
    referenceSpaceType: number;
}
interface UpdateObjectOptions {
    scene: PolyScene;
    objects: ObjectContent<CoreObjectType>[];
    params: CameraWebXRVRSopParams;
    active: boolean;
}
export declare class CameraWebXRVRSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: CameraWebXRVRSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<CameraSopNodeType.WEBXR_VR>;
    cook(inputCoreGroups: CoreGroup[], params: CameraWebXRVRSopParams): CoreGroup;
    static updateObject(options: UpdateObjectOptions): void;
}
export {};
