import { DirectiveBinding } from 'vue';
import { Subscription } from 'rxjs';
import { DescendantRoot } from './desc-reg.service';
import { DragSyncDescendantRegisterService, DropSortSyncDescendantRegisterService } from './drag-drop-descendant-sync.service';
import { DragDropSyncService } from './drag-drop-sync.service';
import { DragSyncDirective } from './drag-sync.directive';
import { DropSortSyncDirective } from './drop-sort-sync.directive';
import { NgDirectiveBase } from '../directive-base';
export declare class DragDropSyncBoxDirective extends NgDirectiveBase {
    private dragDropSyncService;
    private dragSyncDrs;
    private dropSortSyncDrs;
    static INSTANCE_KEY: string;
    sub: Subscription;
    dragSyncList: DescendantRoot<DragSyncDirective>;
    dropSyncList: DescendantRoot<DropSortSyncDirective>;
    constructor(dragDropSyncService: DragDropSyncService, dragSyncDrs: DragSyncDescendantRegisterService, dropSortSyncDrs: DropSortSyncDescendantRegisterService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
}
declare const _default: {
    created(el: HTMLElement & {
        [props: string]: any;
    }, binding: DirectiveBinding<{}>, vNode: any): void;
    mounted(el: HTMLElement & {
        [props: string]: any;
    }, binding: DirectiveBinding<{}>, vNode: any): void;
    updated(el: HTMLElement & {
        [props: string]: any;
    }, binding: DirectiveBinding<{}>): void;
    beforeUnmount(el: HTMLElement & {
        [props: string]: any;
    }): void;
};
export default _default;
