import { ElementRef, OnChanges, OnDestroy } from '@angular/core'; import { Identifier } from 'dnd-core'; import { Subscription } from 'rxjs'; import { DragSource, DropTarget } from './connection-types'; import { DragPreviewOptions, DragSourceOptions } from './connectors'; import { TypeOrTypeArray } from './type-ish'; import * as i0 from "@angular/core"; /** @ignore */ export declare class AbstractDndDirective implements OnChanges, OnDestroy { protected connection: any; private deferredRequest; protected elRef: ElementRef; private ngZone; ngOnChanges(): void; ngOnDestroy(): void; protected callHooks(_conn: any): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Allows you to connect a {@link DropTarget} to an element in a component template. */ export declare class DropTargetDirective extends AbstractDndDirective implements OnChanges { protected connection: DropTarget | undefined; /** Which target to connect the DOM to */ dropTarget: DropTarget; /** * Shortcut for setting a type on the connection. * Lets you use Angular binding to do it. Runs {@link DropTarget#setTypes}. */ dropTargetTypes?: TypeOrTypeArray; /** Reduce typo confusion by allowing non-plural version of dropTargetTypes */ set dropTargetType(t: TypeOrTypeArray); ngOnChanges(): void; protected callHooks(conn: DropTarget): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** Allows you to connect a {@link DragSource} to an element in a component template. */ export declare class DragSourceDirective extends AbstractDndDirective implements OnChanges { protected connection: DragSource | undefined; /** Which source to connect the DOM to */ dragSource: DragSource; /** * Shortcut for setting a type on the connection. * Lets you use Angular binding to do it. Runs {@link DragSource#setType}. */ dragSourceType?: Identifier; /** Pass an options object as you would to {@link DragSource#connectDragSource}. */ dragSourceOptions?: DragSourceOptions; /** * Do not render an HTML5 preview. Only applies when using the HTML5 backend. * It does not use { captureDraggingState: true } for IE11 support; that is broken. */ noHTML5Preview: boolean; ngOnChanges(): void; protected callHooks(conn: DragSource): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Allows you to specify which element a {@link DragSource} should screenshot * as an HTML5 drag preview. * * Only relevant when using the HTML5 backend. */ export declare class DragPreviewDirective extends AbstractDndDirective implements OnChanges { protected connection: DragSource | undefined; /** The drag source for which this element will be the preview. */ dragPreview: DragSource; /** Pass an options object as you would to {@link DragSource#connectDragPreview}. */ dragPreviewOptions?: DragPreviewOptions; ngOnChanges(): void; protected callHooks(conn: DragSource): Subscription; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }