import { ElementRef, EventEmitter, QueryList } from '@angular/core';
import { DragAndDropService } from './drag-and-drop.service';
import { DragAndDropListChanges } from './drag-and-drop.entities';
import * as i0 from "@angular/core";
export declare class DragAndDropDirective {
    private hostElement;
    private readonly dragAndDropStableService;
    set draggableListItems(value: QueryList<ElementRef>);
    dragElementDrop: EventEmitter<DragAndDropListChanges>;
    dragElementEnd: EventEmitter<any>;
    dragElementStart: EventEmitter<any>;
    private dragElement;
    private dragChanges;
    constructor(hostElement: ElementRef, dragAndDropStableService: DragAndDropService);
    onDragStart($event: any): void;
    onDragEnd($event: any): void;
    onDragOver($event: any): void;
    onDrop($event: DragEvent): void;
    private getElementIndex;
    private setDraggableAttributeToItems;
    static ɵfac: i0.ɵɵFactoryDeclaration<DragAndDropDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DragAndDropDirective, "[fusionDragAndDrop]", never, {}, { "dragElementDrop": "dragElementDrop"; "dragElementEnd": "dragElementEnd"; "dragElementStart": "dragElementStart"; }, ["draggableListItems"], never, true, never>;
}
