import { OverlayContainer } from '@angular/cdk/overlay'; import * as i0 from '@angular/core'; import { AfterViewInit, OnDestroy, EventEmitter, ElementRef, Renderer2 } from '@angular/core'; interface NovoDragFinishEvent { draggedItem: T; allItems: T[]; event: DragEvent; } interface NovoDragItem { item: T; element: HTMLElement; removeListeners: () => void; } declare class NovoDragBoxParent implements AfterViewInit, OnDestroy { private elementRef; private renderer; pickedUp?: HTMLElement; previewReplacing?: HTMLElement; savedOrder?: NovoDragItem[]; overlayContainer: OverlayContainer; items: T[]; /** * A function to specify whether a given item in the child list is draggable. * (Note that altering this after setup is not yet supported) */ dragFilter?: (item: T) => boolean; /** * Prevents behavior that eases the act of dragging an object to the edge of a scrollable container. */ disableScroll?: boolean; novoDragDropFinish: EventEmitter>; private trackedItems; private scrollContainer; private scrollContainerRect; private scrollX; private scrollY; get itemsReordered(): T[]; get dragging(): boolean; mutationObserver: MutationObserver; constructor(elementRef: ElementRef, renderer: Renderer2); get element(): HTMLElement; ngAfterViewInit(): void; ngOnDestroy(): void; private registerChildren; private registerChild; mutationDetected(mutations: MutationRecord[]): void; /** Per-item listeners */ onDragStart(event: DragEvent): void; onDragStop(event: DragEvent): void; onDragFinish(event: DragEvent): void; /** - end per-item listeners */ onDragOver(event: DragEvent): void; private inOverlay; private isValidTarget; private findDraggableParentOfElement; private applyTempSort; private resetSorting; private shouldBlockDragStart; private processScrollDuringMove; isElementWithinEventBounds(element: Element, event: DragEvent): boolean; private findScrollableParent; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[novoDragDrop]", never, { "items": { "alias": "novoDragDrop"; "required": false; }; "dragFilter": { "alias": "novoDragDropFilter"; "required": false; }; "disableScroll": { "alias": "novoDragDropDisableScroll"; "required": false; }; }, { "novoDragDropFinish": "novoDragDropFinish"; }, never, never, false, never>; } declare class NovoDragDropModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { NovoDragBoxParent, NovoDragDropModule }; export type { NovoDragFinishEvent };