import { OnDestroy, OnInit } from '@angular/core';
import type { MapMouseEvent } from 'maplibre-gl';
import type { LayerComponent } from '../layer/layer.component';
import * as i0 from "@angular/core";
/**
 * `mglDraggable` - a directive for Feature or Marker
 *
 * @category Directives
 *
 * @see [Draggable Marker](https://maplibre.org/ng-maplibre-gl/demo/ngx-drag-a-point)
 */
export declare class DraggableDirective implements OnInit, OnDestroy {
    /** Init injection */
    private readonly mapService;
    private readonly ngZone;
    private readonly featureComponent;
    readonly layer: import("@angular/core").InputSignal<LayerComponent | null>;
    featureDragStart: import("@angular/core").OutputEmitterRef<MapMouseEvent>;
    featureDragEnd: import("@angular/core").OutputEmitterRef<MapMouseEvent>;
    featureDrag: import("@angular/core").OutputEmitterRef<MapMouseEvent>;
    private sub;
    ngOnInit(): void;
    ngOnDestroy(): void;
    private handleDraggable;
    private filterFeature;
    static ɵfac: i0.ɵɵFactoryDeclaration<DraggableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DraggableDirective, "[mglDraggable]", never, { "layer": { "alias": "mglDraggable"; "required": false; "isSignal": true; }; }, { "featureDragStart": "featureDragStart"; "featureDragEnd": "featureDragEnd"; "featureDrag": "featureDrag"; }, never, never, true, never>;
}
