export declare const CDK_DRAG_CONFIG: InjectionToken; export declare function CDK_DRAG_CONFIG_FACTORY(): DragRefConfig; export declare const CDK_DROP_LIST: InjectionToken>; export declare const CDK_DROP_LIST_CONTAINER: InjectionToken>; export declare class CdkDrag implements AfterViewInit, OnChanges, OnDestroy { _dragRef: DragRef>; _handles: QueryList; _placeholderTemplate: CdkDragPlaceholder; _previewTemplate: CdkDragPreview; boundaryElement: string | ElementRef | HTMLElement; boundaryElementSelector: string; constrainPosition?: (point: Point, dragRef: DragRef) => Point; data: T; disabled: boolean; dragStartDelay: number; dropContainer: CdkDropList; dropped: EventEmitter>; element: ElementRef; ended: EventEmitter; entered: EventEmitter>; exited: EventEmitter>; freeDragPosition: { x: number; y: number; }; lockAxis: 'x' | 'y'; moved: Observable>; released: EventEmitter; rootElementSelector: string; started: EventEmitter; constructor( element: ElementRef, dropContainer: CdkDropList, _document: any, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, config: DragRefConfig, _dir: Directionality, dragDrop: DragDrop, _changeDetectorRef: ChangeDetectorRef); getFreeDragPosition(): { readonly x: number; readonly y: number; }; getPlaceholderElement(): HTMLElement; getRootElement(): HTMLElement; ngAfterViewInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; reset(): void; } export interface CdkDragConfig extends DragRefConfig { } export interface CdkDragDrop { container: CdkDropList; currentIndex: number; distance: { x: number; y: number; }; isPointerOverContainer: boolean; item: CdkDrag; previousContainer: CdkDropList; previousIndex: number; } export interface CdkDragEnd { distance: { x: number; y: number; }; source: CdkDrag; } export interface CdkDragEnter { container: CdkDropList; currentIndex: number; item: CdkDrag; } export interface CdkDragExit { container: CdkDropList; item: CdkDrag; } export declare class CdkDragHandle implements OnDestroy { _parentDrag: {} | undefined; _stateChanges: Subject; disabled: boolean; element: ElementRef; constructor(element: ElementRef, parentDrag?: any); ngOnDestroy(): void; } export interface CdkDragMove { delta: { x: -1 | 0 | 1; y: -1 | 0 | 1; }; distance: { x: number; y: number; }; event: MouseEvent | TouchEvent; pointerPosition: { x: number; y: number; }; source: CdkDrag; } export declare class CdkDragPlaceholder { data: T; templateRef: TemplateRef; constructor(templateRef: TemplateRef); } export declare class CdkDragPreview { data: T; templateRef: TemplateRef; constructor(templateRef: TemplateRef); } export interface CdkDragRelease { source: CdkDrag; } export interface CdkDragSortEvent { container: CdkDropList; currentIndex: number; item: CdkDrag; previousIndex: number; } export interface CdkDragStart { source: CdkDrag; } export declare class CdkDropList implements CdkDropListContainer, AfterContentInit, OnDestroy { _draggables: QueryList; _dropListRef: DropListRef>; autoScrollDisabled: boolean; connectedTo: (CdkDropList | string)[] | CdkDropList | string; data: T; disabled: boolean; dropped: EventEmitter>; element: ElementRef; enterPredicate: (drag: CdkDrag, drop: CdkDropList) => boolean; entered: EventEmitter>; exited: EventEmitter>; id: string; lockAxis: 'x' | 'y'; orientation: 'horizontal' | 'vertical'; sorted: EventEmitter>; sortingDisabled: boolean; constructor( element: ElementRef, dragDrop: DragDrop, _changeDetectorRef: ChangeDetectorRef, _dir?: Directionality | undefined, _group?: CdkDropListGroup> | undefined); _getSiblingContainerFromPosition(item: CdkDrag, x: number, y: number): CdkDropListContainer | null; _isOverContainer(x: number, y: number): boolean; _sortItem(item: CdkDrag, pointerX: number, pointerY: number, pointerDelta: { x: number; y: number; }): void; drop(item: CdkDrag, currentIndex: number, previousContainer: Partial, isPointerOverContainer: boolean): void; enter(item: CdkDrag, pointerX: number, pointerY: number): void; exit(item: CdkDrag): void; getItemIndex(item: CdkDrag): number; ngAfterContentInit(): void; ngOnDestroy(): void; start(): void; } export interface CdkDropListContainer { _draggables: QueryList; data: T; disabled: boolean; element: ElementRef; id: string; lockAxis: 'x' | 'y'; orientation: 'horizontal' | 'vertical'; _getSiblingContainerFromPosition(item: CdkDrag, x: number, y: number): CdkDropListContainer | null; _isOverContainer(x: number, y: number): boolean; _sortItem(item: CdkDrag, pointerX: number, pointerY: number, delta: { x: number; y: number; }): void; drop(item: CdkDrag, currentIndex: number, previousContainer: Partial, isPointerOverContainer: boolean): void; enter(item: CdkDrag, pointerX: number, pointerY: number): void; exit(item: CdkDrag): void; getItemIndex(item: CdkDrag): number; start(): void; } export declare class CdkDropListGroup implements OnDestroy { readonly _items: Set; disabled: boolean; ngOnDestroy(): void; } export declare function copyArrayItem(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void; export declare class DragDrop { constructor(_document: any, _ngZone: NgZone, _viewportRuler: ViewportRuler, _dragDropRegistry: DragDropRegistry); createDrag(element: ElementRef | HTMLElement, config?: DragRefConfig): DragRef; createDropList(element: ElementRef | HTMLElement): DropListRef; } export declare class DragDropModule { } export declare class DragDropRegistry implements OnDestroy { readonly pointerMove: Subject; readonly pointerUp: Subject; readonly scroll: Subject; constructor(_ngZone: NgZone, _document: any); getDropContainer(id: string): C | undefined; isDragging(drag: I): boolean; ngOnDestroy(): void; registerDragItem(drag: I): void; registerDropContainer(drop: C): void; removeDragItem(drag: I): void; removeDropContainer(drop: C): void; startDragging(drag: I, event: TouchEvent | MouseEvent): void; stopDragging(drag: I): void; } export declare class DragRef { beforeStarted: Subject; constrainPosition?: (point: Point, dragRef: DragRef) => Point; data: T; disabled: boolean; dragStartDelay: number; dropped: Subject<{ previousIndex: number; currentIndex: number; item: DragRef; container: DropListRef; previousContainer: DropListRef; distance: Point; isPointerOverContainer: boolean; }>; ended: Subject<{ source: DragRef; distance: Point; }>; entered: Subject<{ container: DropListRef; item: DragRef; currentIndex: number; }>; exited: Subject<{ container: DropListRef; item: DragRef; }>; lockAxis: 'x' | 'y'; moved: Observable<{ source: DragRef; pointerPosition: { x: number; y: number; }; event: MouseEvent | TouchEvent; distance: Point; delta: { x: -1 | 0 | 1; y: -1 | 0 | 1; }; }>; released: Subject<{ source: DragRef; }>; started: Subject<{ source: DragRef; }>; constructor(element: ElementRef | HTMLElement, _config: DragRefConfig, _document: Document, _ngZone: NgZone, _viewportRuler: ViewportRuler, _dragDropRegistry: DragDropRegistry); _sortFromLastPointerPosition(): void; _withDropContainer(container: DropListRef): void; disableHandle(handle: HTMLElement): void; dispose(): void; enableHandle(handle: HTMLElement): void; getFreeDragPosition(): Readonly; getPlaceholderElement(): HTMLElement; getRootElement(): HTMLElement; isDragging(): boolean; reset(): void; setFreeDragPosition(value: Point): this; withBoundaryElement(boundaryElement: ElementRef | HTMLElement | null): this; withDirection(direction: Direction): this; withHandles(handles: (HTMLElement | ElementRef)[]): this; withPlaceholderTemplate(template: DragHelperTemplate | null): this; withPreviewTemplate(template: DragHelperTemplate | null): this; withRootElement(rootElement: ElementRef | HTMLElement): this; } export interface DragRefConfig { dragStartThreshold: number; pointerDirectionChangeThreshold: number; } export declare class DropListRef { autoScrollDisabled: boolean; beforeStarted: Subject; data: T; disabled: boolean; dropped: Subject<{ item: DragRef; currentIndex: number; previousIndex: number; container: DropListRef; previousContainer: DropListRef; isPointerOverContainer: boolean; distance: Point; }>; element: HTMLElement | ElementRef; enterPredicate: (drag: DragRef, drop: DropListRef) => boolean; entered: Subject<{ item: DragRef; container: DropListRef; currentIndex: number; }>; exited: Subject<{ item: DragRef; container: DropListRef; }>; id: string; lockAxis: 'x' | 'y'; sorted: Subject<{ previousIndex: number; currentIndex: number; container: DropListRef; item: DragRef; }>; sortingDisabled: boolean; constructor(element: ElementRef | HTMLElement, _dragDropRegistry: DragDropRegistry, _document: any, _ngZone?: NgZone | undefined, _viewportRuler?: ViewportRuler | undefined); _canReceive(item: DragRef, x: number, y: number): boolean; _getSiblingContainerFromPosition(item: DragRef, x: number, y: number): DropListRef | undefined; _isOverContainer(x: number, y: number): boolean; _sortItem(item: DragRef, pointerX: number, pointerY: number, pointerDelta: { x: number; y: number; }): void; _startReceiving(sibling: DropListRef): void; _startScrollingIfNecessary(pointerX: number, pointerY: number): void; _stopReceiving(sibling: DropListRef): void; _stopScrolling(): void; connectedTo(connectedTo: DropListRef[]): this; dispose(): void; drop(item: DragRef, currentIndex: number, previousContainer: DropListRef, isPointerOverContainer: boolean, distance?: Point): void; enter(item: DragRef, pointerX: number, pointerY: number): void; exit(item: DragRef): void; getItemIndex(item: DragRef): number; isDragging(): boolean; isReceiving(): boolean; start(): void; withDirection(direction: Direction): this; withItems(items: DragRef[]): this; withOrientation(orientation: 'vertical' | 'horizontal'): this; } export declare function moveItemInArray(array: T[], fromIndex: number, toIndex: number): void; export declare function transferArrayItem(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void;