import { Subject, BehaviorSubject, Observable } from 'rxjs';
import { TreeModel, TreeConfig } from './models/tree-view.model';
export declare class NgxTreeService {
    treeStorage: TreeModel[];
    private findingResults;
    isDragging: TreeModel;
    dragEvent: {};
    direction: string;
    lastExpandState: boolean;
    onDragStart: Subject<any>;
    onDragEnter: Subject<any>;
    onDragLeave: Subject<any>;
    onDrop: Subject<any>;
    onDrag: Subject<any>;
    onAllowDrop: Subject<any>;
    onDragEnd: Subject<any>;
    onAddItem: Subject<any>;
    onRenameItem: Subject<any>;
    onStartRenameItem: Subject<any>;
    onFinishRenameItem: Subject<any>;
    onStartDeleteItem: Subject<any>;
    onFinishDeleteItem: Subject<any>;
    onCancelDeleteItem: Subject<any>;
    config: BehaviorSubject<any>;
    defaulConfig: TreeConfig;
    constructor();
    getLocalData(item: any): Observable<{}>;
    private elementFinder;
    addNewItem(id: any, name: any, parent?: any): void;
    deleteItem(id: any): void;
    startRenameItem(element: any): void;
    finishRenameItem(name: any, id: any): void;
    startDragging(eventObj: any): void;
    onDragProcess(eventObj: any): void;
    dragEndAction(eventObj: any): void;
    enterDropZone(eventObj: any): void;
    onDragOver(eventObj: any): void;
    leaveDropZone(eventObj: any): void;
    onDropItem(eventObj: any): void;
    private changeItemPosition;
    getItemPosition(item: any): number;
    sortTree(): void;
    private sortElements;
    private compate;
    clearAction(): void;
    private removeDestenationBorders;
    private switchDropButton;
}
