import type { DeckGLRef } from "@deck.gl/react";
import type { MapMouseEvent, PropertyDataType } from "../../";
export type LayerPickingInfo = {
    layerId: string;
    layerName: string;
    properties: PropertyDataType[];
};
export type ViewportPickInfo = {
    coordinates: number[] | null;
    layerPickingInfo: LayerPickingInfo[];
};
export type PickingInfoPerView = Record<string, ViewportPickInfo>;
export type MultiViewPickingInfoAssemblerOptions = {
    multiPicking: boolean;
    pickDepth: number;
};
export interface MultiViewPickingInfoAssemblerSubscriberCallback {
    (info: PickingInfoPerView, activeViewportId: string): void;
}
export declare class MultiViewPickingInfoAssembler {
    private _deckGl;
    private _options;
    private _subscribers;
    constructor(deckGL: DeckGLRef | null, options?: MultiViewPickingInfoAssemblerOptions);
    setDeckGL(deckGL: DeckGLRef): void;
    subscribe(callback: MultiViewPickingInfoAssemblerSubscriberCallback): () => void;
    private publish;
    getMultiViewPickingInfo(hoverEvent: MapMouseEvent): void;
    private pickAtCoordinate;
    private assembleMultiViewPickingInfo;
}
