import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { InputCloneMode } from '../../poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { CameraSopNodeType } from '../../poly/NodeContext';
import { PolyScene } from '../../scene/PolyScene';
import { CoreObjectType, ObjectContent } from '../../../core/geometry/ObjectContent';
interface CameraWebXRARMarkerTrackingSopParams extends DefaultOperationParams {
    group: string;
    sourceMode: number;
    sourceUrl: string;
    transformMode: number;
    smooth: boolean;
    smoothCount: number;
    barCodeType: string;
    barCodeValue: number;
}
interface UpdateObjectOptions {
    scene: PolyScene;
    objects: ObjectContent<CoreObjectType>[];
    params: CameraWebXRARMarkerTrackingSopParams;
    active: boolean;
}
export declare class CameraWebXRARMarkerTrackingSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: CameraWebXRARMarkerTrackingSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.FROM_NODE;
    static type(): Readonly<CameraSopNodeType.WEBXR_AR_MARKER_TRACKING>;
    cook(inputCoreGroups: CoreGroup[], params: CameraWebXRARMarkerTrackingSopParams): CoreGroup;
    static updateObject(options: UpdateObjectOptions): void;
}
export {};
