import { BufferGeometry } from 'three/src/core/BufferGeometry';
import { MapboxListenerSopNode } from './utils/MapboxListener';
import { NodeParamsConfig } from '@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig';
declare const MapboxPlaneSopParamsConfig_base: {
    new (...args: any[]): {
        useBounds: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
        southWest: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.VECTOR2>;
        northEast: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.VECTOR2>;
        useZoom: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
        zoom: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.FLOAT>;
        mapboxCamera: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.NODE_PATH>;
        zoomRange: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.VECTOR2>;
        updateAlwaysAllowed: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
        updateAlways: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
    };
} & typeof NodeParamsConfig;
declare class MapboxPlaneSopParamsConfig extends MapboxPlaneSopParamsConfig_base {
    /** @param type of plane (grid or hexagons) */
    type: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.INTEGER>;
    /** @param plane resolution */
    resolution: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.INTEGER>;
    /** @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("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.FLOAT>;
    /** @param toggle on to make sure the plane will cover the full view */
    fullView: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
    /** @param do not create polygons, only points */
    asPoints: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
    /** @param creates within mapbox camera space */
    mapboxTransform: import("@polygonjs/polygonjs/dist/src/engine/nodes/utils/params/ParamsConfig").ParamTemplate<import("@polygonjs/polygonjs/dist/src/engine/poly/ParamType").ParamType.BOOLEAN>;
}
export declare class MapboxPlaneSopNode extends MapboxListenerSopNode<MapboxPlaneSopParamsConfig> {
    paramsConfig: MapboxPlaneSopParamsConfig;
    static type(): string;
    private _hexagonsController;
    cook(): void;
    _postInitController(): void;
    _buildPlane(): BufferGeometry | undefined;
    private _mirrorLngLat;
    private _asHexagons;
}
export {};
