import { LitElement } from 'lit';
import '../poi-layer/poi-layer.js';
import '../poi-group/poi-group.js';
import '../poi-data/poi-data.js';
import '../building-blocks/poi-header/poi-header.js';
export declare enum PoiLayerSelectionMode {
    None = "none",
    Single = "single",
    Multi = "multi"
}
/**
 * `<obc-poi-layer-stack>` coordinates multiple POI layers and manages
 * selection behavior across stacked layers.
 *
 * Use `selection-mode` to control whether targets can be selected across the
 * stack (`none`, `single`, or `multi`).
 *
 * ### Slots
 * - Default slot for `obc-poi-layer` elements that participate in the stack.
 *
 * ### Example
 * ```html
 * <obc-poi-layer-stack selection-mode="single">
 *   <obc-poi-layer label="Radar" is-selected></obc-poi-layer>
 *   <obc-poi-layer label="AIS"></obc-poi-layer>
 * </obc-poi-layer-stack>
 * ```
 *
 * @slot - Layers participating in the stack.
 */
export declare class ObcPoiLayerStack extends LitElement {
    selectionMode: PoiLayerSelectionMode;
    private handleStackClick;
    private handleSlotChange;
    private selectionMap;
    private selectionCounter;
    private selectionIds;
    private movingTargets;
    private placementRaf;
    private mutationObserver?;
    connectedCallback(): void;
    firstUpdated(): void;
    disconnectedCallback(): void;
    private onStackClick;
    private getPoiTargetFromEvent;
    private getTargetLayer;
    private getLayerTargets;
    private getAllLayers;
    private isLayerSelected;
    private cleanupSelection;
    private getLayer;
    private clearOtherTopSelections;
    private collectPoiHeaders;
    private setTargetSelectedId;
    private clearTargetSelectedId;
    private clearTargetGroupingAttributes;
    private setSelectedTargetInteractivity;
    private resetSelectionForTarget;
    private clearSelectionMapExcept;
    private setupMutationObserver;
    private moveTargetToLayer;
    private getRectBottomCenter;
    private getTargetVisualAnchor;
    private getTargetPointAnchor;
    private schedulePlacement;
    private updateLayerInactiveState;
    private updateLayerOrders;
    private syncSelectedLayerTargets;
    private syncInitialSelectedTargetLineCompensation;
    private getTargetLineCompensation;
    private animateTargetLineCompensation;
    private adjustTargetLineLengthByOffset;
    private evaluateCubicBezier;
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-poi-layer-stack': ObcPoiLayerStack;
    }
}
//# sourceMappingURL=poi-layer-stack.d.ts.map