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 type BatchDragStyle = 'badge' | 'stack' | string;
export declare class BatchDraggableDirective implements OnInit, OnChanges, OnDestroy, AfterViewInit {
    private draggable;
    private dragDropService;
    batchDragGroup: string;
    batchDragActive: boolean;
    batchDragLastOneAutoActiveEventKeys: string[];
    batchDragStyle: Array<BatchDragStyle>;
    batchDragActiveEvent: EventEmitter<any>;
    dragData: any;
    needToRestore: boolean;
    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": { "alias": "batchDragGroup"; "required": false; }; "batchDragActive": { "alias": "batchDragActive"; "required": false; }; "batchDragLastOneAutoActiveEventKeys": { "alias": "batchDragLastOneAutoActiveEventKeys"; "required": false; }; "batchDragStyle": { "alias": "batchDragStyle"; "required": false; }; }, { "batchDragActiveEvent": "batchDragActiveEvent"; }, never, never, false, never>;
}
