import * as i0 from '@angular/core'; import { OnInit, OnDestroy, ElementRef, AfterViewInit, EventEmitter } from '@angular/core'; type DropEffect = 'move' | 'copy' | 'link' | 'none'; type EffectAllowed = DropEffect | 'copyMove' | 'copyLink' | 'linkMove' | 'all' | 'uninitialized'; interface DndEvent extends DragEvent { _dndUsingHandle?: boolean; _dndDropzoneActive?: true; } type DndDragImageOffsetFunction = (event: DragEvent, dragImage: Element) => { x: number; y: number; }; declare class DndHandleDirective implements OnInit, OnDestroy { draggable: boolean; dndDraggableDirective: DndDraggableDirective; ngOnInit(): void; ngOnDestroy(): void; onDragEvent(event: DndEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DndDragImageRefDirective implements OnInit { dndDraggableDirective: any; elementRef: ElementRef; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DndDraggableDirective implements AfterViewInit, OnDestroy { dndDraggable: any; dndEffectAllowed: EffectAllowed; dndType?: string; dndDraggingClass: string; dndDraggingSourceClass: string; dndDraggableDisabledClass: string; dndDragImageOffsetFunction: DndDragImageOffsetFunction; readonly dndStart: EventEmitter; readonly dndDrag: EventEmitter; readonly dndEnd: EventEmitter; readonly dndMoved: EventEmitter; readonly dndCopied: EventEmitter; readonly dndLinked: EventEmitter; readonly dndCanceled: EventEmitter; draggable: boolean; private dndHandle?; private dndDragImageElementRef?; private dragImage; private isDragStarted; private elementRef; private renderer; private ngZone; set dndDisableIf(value: boolean); set dndDisableDragIf(value: boolean); ngAfterViewInit(): void; ngOnDestroy(): void; onDragStart(event: DndEvent): boolean; onDrag(event: DragEvent): void; onDragEnd(event: DragEvent): void; registerDragHandle(handle: DndHandleDirective | undefined): void; registerDragImage(elementRef: ElementRef | undefined): void; private readonly dragEventHandler; private determineDragImage; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface DndDropEvent { event: DragEvent; dropEffect: DropEffect; isExternal: boolean; data?: any; index?: number; type?: any; } declare class DndPlaceholderRefDirective implements OnInit { readonly elementRef: ElementRef; ngOnInit(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DndDropzoneDirective implements AfterViewInit, OnDestroy { dndDropzone?: string[] | ''; dndEffectAllowed: EffectAllowed; dndAllowExternal: boolean; dndHorizontal: boolean; dndDragoverClass: string; dndDropzoneDisabledClass: string; readonly dndDragover: EventEmitter; readonly dndDrop: EventEmitter; private readonly dndPlaceholderRef?; private placeholder; private disabled; private enterCount; private ngZone; private elementRef; private renderer; set dndDisableIf(value: boolean); set dndDisableDropIf(value: boolean); ngAfterViewInit(): void; ngOnDestroy(): void; onDragEnter(event: DndEvent): void; onDragOver(event: DragEvent): void; onDrop(event: DragEvent): void; onDragLeave(event: DndEvent): void; private readonly dragEnterEventHandler; private readonly dragOverEventHandler; private readonly dragLeaveEventHandler; private isDropAllowed; private tryGetPlaceholder; private removePlaceholderFromDOM; private checkAndUpdatePlaceholderPosition; private getPlaceholderIndex; private cleanupDragoverState; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class DndModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DndDragImageRefDirective, DndDraggableDirective, DndDropzoneDirective, DndHandleDirective, DndModule, DndPlaceholderRefDirective }; export type { DndDragImageOffsetFunction, DndDropEvent, DropEffect, EffectAllowed };