export declare const CDK_DRAG_CONFIG: InjectionToken; export declare function CDK_DRAG_CONFIG_FACTORY(): DragDropConfig; export declare const CDK_DROP_LIST: InjectionToken; export declare class CdkDrag implements AfterViewInit, OnChanges, OnDestroy { _dragRef: DragRef>; _handles: QueryList; _placeholderTemplate: CdkDragPlaceholder; _previewTemplate: CdkDragPreview; boundaryElement: string | ElementRef | HTMLElement; constrainPosition?: (point: Point, dragRef: DragRef) => Point; data: T; get disabled(): boolean; set disabled(value: boolean); dragStartDelay: DragStartDelay; dropContainer: CdkDropList; dropped: EventEmitter>; element: ElementRef; ended: EventEmitter; entered: EventEmitter>; exited: EventEmitter>; freeDragPosition: { x: number; y: number; }; lockAxis: DragAxis; moved: Observable>; previewClass: string | string[]; released: EventEmitter; rootElementSelector: string; started: EventEmitter; constructor( element: ElementRef, dropContainer: CdkDropList, _document: any, _ngZone: NgZone, _viewContainerRef: ViewContainerRef, config: DragDropConfig, _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; static ngAcceptInputType_disabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[cdkDrag]", ["cdkDrag"], { "data": "cdkDragData"; "lockAxis": "cdkDragLockAxis"; "rootElementSelector": "cdkDragRootElement"; "boundaryElement": "cdkDragBoundary"; "dragStartDelay": "cdkDragStartDelay"; "freeDragPosition": "cdkDragFreeDragPosition"; "disabled": "cdkDragDisabled"; "constrainPosition": "cdkDragConstrainPosition"; "previewClass": "cdkDragPreviewClass"; }, { "started": "cdkDragStarted"; "released": "cdkDragReleased"; "ended": "cdkDragEnded"; "entered": "cdkDragEntered"; "exited": "cdkDragExited"; "dropped": "cdkDragDropped"; "moved": "cdkDragMoved"; }, ["_previewTemplate", "_placeholderTemplate", "_handles"]>; static ɵfac: i0.ɵɵFactoryDef>; } 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; get disabled(): boolean; set disabled(value: boolean); element: ElementRef; constructor(element: ElementRef, parentDrag?: any); ngOnDestroy(): void; static ngAcceptInputType_disabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta; static ɵfac: i0.ɵɵFactoryDef; } 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); static ɵdir: i0.ɵɵDirectiveDefWithMeta, "ng-template[cdkDragPlaceholder]", never, { "data": "data"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class CdkDragPreview { data: T; get matchSize(): boolean; set matchSize(value: boolean); templateRef: TemplateRef; constructor(templateRef: TemplateRef); static ngAcceptInputType_matchSize: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "ng-template[cdkDragPreview]", never, { "data": "data"; "matchSize": "matchSize"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } 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 AfterContentInit, OnDestroy { _dropListRef: DropListRef>; autoScrollDisabled: boolean; connectedTo: (CdkDropList | string)[] | CdkDropList | string; data: T; get disabled(): boolean; set disabled(value: boolean); dropped: EventEmitter>; element: ElementRef; enterPredicate: (drag: CdkDrag, drop: CdkDropList) => boolean; entered: EventEmitter>; exited: EventEmitter>; id: string; lockAxis: DragAxis; orientation: DropListOrientation; sorted: EventEmitter>; sortingDisabled: boolean; constructor( element: ElementRef, dragDrop: DragDrop, _changeDetectorRef: ChangeDetectorRef, _dir?: Directionality | undefined, _group?: CdkDropListGroup> | undefined, _scrollDispatcher?: ScrollDispatcher | undefined, config?: DragDropConfig); addItem(item: CdkDrag): void; drop(item: CdkDrag, currentIndex: number, previousContainer: CdkDropList, isPointerOverContainer: boolean): void; enter(item: CdkDrag, pointerX: number, pointerY: number): void; exit(item: CdkDrag): void; getItemIndex(item: CdkDrag): number; getSortedItems(): CdkDrag[]; ngAfterContentInit(): void; ngOnDestroy(): void; removeItem(item: CdkDrag): void; start(): void; static ngAcceptInputType_autoScrollDisabled: BooleanInput; static ngAcceptInputType_disabled: BooleanInput; static ngAcceptInputType_sortingDisabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[cdkDropList], cdk-drop-list", ["cdkDropList"], { "connectedTo": "cdkDropListConnectedTo"; "data": "cdkDropListData"; "orientation": "cdkDropListOrientation"; "id": "id"; "lockAxis": "cdkDropListLockAxis"; "disabled": "cdkDropListDisabled"; "sortingDisabled": "cdkDropListSortingDisabled"; "enterPredicate": "cdkDropListEnterPredicate"; "autoScrollDisabled": "cdkDropListAutoScrollDisabled"; }, { "dropped": "cdkDropListDropped"; "entered": "cdkDropListEntered"; "exited": "cdkDropListExited"; "sorted": "cdkDropListSorted"; }, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare class CdkDropListGroup implements OnDestroy { readonly _items: Set; get disabled(): boolean; set disabled(value: boolean); ngOnDestroy(): void; static ngAcceptInputType_disabled: BooleanInput; static ɵdir: i0.ɵɵDirectiveDefWithMeta, "[cdkDropListGroup]", ["cdkDropListGroup"], { "disabled": "cdkDropListGroupDisabled"; }, {}, never>; static ɵfac: i0.ɵɵFactoryDef>; } export declare function copyArrayItem(currentArray: T[], targetArray: T[], currentIndex: number, targetIndex: number): void; export declare type DragAxis = 'x' | 'y'; export declare type DragConstrainPosition = (point: Point, dragRef: DragRef) => Point; 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; static ɵfac: i0.ɵɵFactoryDef; static ɵprov: i0.ɵɵInjectableDef; } export interface DragDropConfig extends Partial { boundaryElement?: string; constrainPosition?: DragConstrainPosition; dragStartDelay?: DragStartDelay; draggingDisabled?: boolean; listAutoScrollDisabled?: boolean; listOrientation?: DropListOrientation; lockAxis?: DragAxis; previewClass?: string | string[]; rootElementSelector?: string; sortingDisabled?: boolean; } export declare class DragDropModule { static ɵinj: i0.ɵɵInjectorDef; static ɵmod: i0.ɵɵNgModuleDefWithMeta; } export declare class DragDropRegistry implements OnDestroy { readonly pointerMove: Subject; readonly pointerUp: Subject; readonly scroll: Subject; constructor(_ngZone: NgZone, _document: any); 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; static ɵfac: i0.ɵɵFactoryDef>; static ɵprov: i0.ɵɵInjectableDef>; } export declare class DragRef { beforeStarted: Subject; constrainPosition?: (point: Point, dragRef: DragRef) => Point; data: T; get disabled(): boolean; set disabled(value: boolean); dragStartDelay: number | { touch: number; mouse: 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; }; }>; previewClass: string | string[] | undefined; 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; getVisibleElement(): 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: DragPreviewTemplate | null): this; withRootElement(rootElement: ElementRef | HTMLElement): this; } export interface DragRefConfig { dragStartThreshold: number; pointerDirectionChangeThreshold: number; } export declare type DragStartDelay = number | { touch: number; mouse: number; }; export declare type DropListOrientation = 'horizontal' | 'vertical'; 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; }>; 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, _viewportRuler: ViewportRuler); _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, previousIndex?: number): void; enter(item: DragRef, pointerX: number, pointerY: number, index?: 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; withScrollableParents(elements: HTMLElement[]): 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;