import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { DragDropService } from '../services/drag-drop.service';
import { DraggableDirective } from './draggable.directive';
import * as i0 from "@angular/core";
export declare type BatchDragStyle = 'badge' | 'stack' | string;
export declare class BatchDraggableDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {
    private draggable;
    private dragDropService;
    batchDragGroup: string;
    batchDragActive: boolean;
    batchDragLastOneAutoActiveEventKeys: string[];
    batchDragActiveEvent: EventEmitter<any>;
    dragData: any;
    needToRestore: boolean;
    batchDragStyle: Array<BatchDragStyle>;
    constructor(draggable: DraggableDirective, dragDropService: DragDropService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    initDragDataByIdentity(): {
        identity?: any;
        draggable: DraggableDirective;
        dragData: any;
    };
    registerRestoreDragDataViewAfterViewInitWhiteDragging(): void;
    restoreDragDataViewAfterViewInit(): void;
    allowAddToBatchGroup(): boolean;
    addToBatchGroup(dragData?: any): void;
    removeFromBatchGroup(dragData?: any): void;
    private addToArrayIfNotExist;
    private deleteFromArrayIfExist;
    private findInBatchDragDataByIdentities;
    active(): void;
    updateDragData(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BatchDraggableDirective, [{ self: true; }, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BatchDraggableDirective, "[dDraggable][batchDrag]", ["dBatchDraggable"], { "batchDragGroup": "batchDragGroup"; "batchDragActive": "batchDragActive"; "batchDragLastOneAutoActiveEventKeys": "batchDragLastOneAutoActiveEventKeys"; "batchDragStyle": "batchDragStyle"; }, { "batchDragActiveEvent": "batchDragActiveEvent"; }, never, never, false>;
}
