import { OnChanges, SimpleChanges, OnDestroy, OnInit, AfterViewInit, EventEmitter } from '@angular/core';
import { DragDropService } from '../services/drag-drop.service';
import { DraggableDirective } from './draggable.directive';
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;
}
