import { ElementRef, OnInit, OnDestroy } from '@angular/core';
import { Subscription } from 'rxjs';
import { DroppableDirective } from './droppable.directive';
import { DragDropSyncService } from '../services/drag-drop-sync.service';
import { DragPlaceholderInsertionEvent, DragPlaceholderInsertionIndexEvent } from './placeholder-insertion-event.type';
export declare class DropSortSyncDirective implements OnInit, OnDestroy {
    el: ElementRef;
    private droppable;
    private dragDropSyncService;
    dropSyncGroup: string;
    direction: 'v' | 'h';
    subscription: Subscription;
    syncGroupDirectives: Array<DropSortSyncDirective>;
    placeholder: HTMLElement;
    sortContainer: HTMLElement;
    constructor(el: ElementRef, droppable: DroppableDirective, dragDropSyncService: DragDropSyncService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    subRenderEvent: (nativeStyle: {
        width: number;
        height: number;
    }) => void;
    subInsertionEvent: (cmd: DragPlaceholderInsertionIndexEvent) => void;
    getChildrenElByIndex(target: any, index?: any): Element;
    renderPlaceholder(nativeStyle: {
        width: number;
        height: number;
    }, droppable: any): void;
    insertPlaceholderCommand(cmd: DragPlaceholderInsertionEvent): void;
}
