import { BaseSopOperation } from './_Base';
import { CoreGroup } from '../../../core/geometry/Group';
import { PerspectiveCamera } from 'three';
import { InputCloneMode } from '../../../engine/poly/InputCloneMode';
import { DefaultOperationParams } from '../../../core/operations/_Base';
import { CameraNodeType } from '../../poly/NodeContext';
import { MapboxPerspectiveCamera } from '../../../core/thirdParty/Mapbox/MapboxPerspectiveCamera';
import type { BaseNodeType } from '../../nodes/_Base';
interface MapboxCameraSopParams extends DefaultOperationParams {
    style: string;
    longitude: number;
    latitude: number;
    zoom: number;
    minZoom: number;
    maxZoom: number;
    pitch: number;
    bearing: number;
    allowDragRotate: boolean;
    addZoomControl: boolean;
    tlayerBuildings: boolean;
    tlayer3D: boolean;
    tlayerSky: boolean;
    name: string;
}
export declare class MapboxCameraSopOperation extends BaseSopOperation {
    static readonly DEFAULT_PARAMS: MapboxCameraSopParams;
    static readonly INPUT_CLONED_STATE = InputCloneMode.NEVER;
    static type(): Readonly<CameraNodeType.MAPBOX>;
    static onRegister: import("../../poly/registers/nodes/NodesRegister").OnNodeRegisterCallback;
    cook(inputCoreGroups: CoreGroup[], params: MapboxCameraSopParams): Promise<CoreGroup>;
    static createCamera(nodeGenerator?: BaseNodeType): MapboxPerspectiveCamera;
    static setCameraAttributes(camera: PerspectiveCamera, params: MapboxCameraSopParams): void;
}
export {};
