import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { Subscription } from 'rxjs';
import { DescendantChildren } from '../services/drag-drop-desc-reg.service';
import { DragSyncDescendantRegisterService } from '../services/drag-drop-descendant-sync.service';
import { DragDropSyncService } from '../services/drag-drop-sync.service';
import { DragDropService } from '../services/drag-drop.service';
import { DraggableDirective } from './draggable.directive';
import * as i0 from "@angular/core";
export declare class DragSyncDirective extends DescendantChildren<DragSyncDirective> implements OnInit, OnDestroy {
    el: ElementRef;
    private draggable;
    private dragDropSyncService;
    private dragDropService;
    private dragSyncDrs;
    dragSyncGroup: string;
    subscription: Subscription;
    syncGroupDirectives: Array<DragSyncDirective>;
    constructor(el: ElementRef, draggable: DraggableDirective, dragDropSyncService: DragDropSyncService, dragDropService: DragDropService, dragSyncDrs: DragSyncDescendantRegisterService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    subDragElEvent: (bool: boolean) => void;
    renderDisplay(nativeEl: HTMLElement, bool: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DragSyncDirective, [null, { optional: true; self: true; }, null, null, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DragSyncDirective, "[dDragSync]", ["dDragSync"], { "dragSyncGroup": { "alias": "dDragSync"; "required": false; }; }, {}, never, never, false, never>;
}
