import { Event } from '../../events';
import { CompositeDisposable } from '../../lifecycle';
import { CanDisplayOverlay, DropTargetTargetModel, DroptargetEvent, DroptargetOverlayModel, IDropTarget, Position, WillShowOverlayEvent } from '../droptarget';
export interface PointerDropTargetOptions {
    canDisplayOverlay: CanDisplayOverlay;
    acceptedTargetZones: Position[];
    overlayModel?: DroptargetOverlayModel;
    /** Render into an external anchor container (floating groups, layout root). */
    getOverrideTarget?: () => DropTargetTargetModel | undefined;
    /** Outline element for positioning; falls back to the drop element. */
    getOverlayOutline?: () => HTMLElement | null;
    className?: string;
}
/** Pointer-driven counterpart to `Droptarget` with identical visual output. */
export declare class PointerDropTarget extends CompositeDisposable implements IDropTarget {
    private readonly element;
    private readonly options;
    private _targetElement;
    private _overlayElement;
    private _state;
    private _acceptedTargetZonesSet;
    private readonly _onDrop;
    readonly onDrop: Event<DroptargetEvent>;
    private readonly _onWillShowOverlay;
    readonly onWillShowOverlay: Event<WillShowOverlayEvent>;
    private _disabled;
    get disabled(): boolean;
    set disabled(value: boolean);
    get state(): Position | undefined;
    constructor(element: HTMLElement, options: PointerDropTargetOptions);
    setTargetZones(zones: Position[]): void;
    setOverlayModel(model: DroptargetOverlayModel): void;
    dispose(): void;
    private _onDragOver;
    private _onDragLeave;
    private _onDropEvent;
    private _calculateQuadrant;
    private _removeOverlay;
}
