import { ElementRef, NgZone, OnInit } from '@angular/core';
import { JsonSchemaFormService } from '../json-schema-form.service';
/**
 * OrderableDirective
 *
 * Enables array elements to be reordered by dragging and dropping.
 *
 * Only works for arrays that have at least two elements.
 *
 * Also detects arrays-within-arrays, and correctly moves either
 * the child array element or the parent array element,
 * depending on the drop targert.
 *
 * Listeners for movable element being dragged:
 * - dragstart: add 'dragging' class to element, set effectAllowed = 'move'
 * - dragover: set dropEffect = 'move'
 * - dragend: remove 'dragging' class from element
 *
 * Listeners for stationary items being dragged over:
 * - dragenter: add 'drag-target-...' classes to element
 * - dragleave: remove 'drag-target-...' classes from element
 * - drop: remove 'drag-target-...' classes from element, move dropped array item
 */
export declare class OrderableDirective implements OnInit {
    private elementRef;
    private jsf;
    private ngZone;
    arrayPointer: string;
    element: any;
    overParentElement: boolean;
    overChildElement: boolean;
    orderable: boolean;
    formID: number;
    layoutNode: any;
    layoutIndex: number[];
    dataIndex: number[];
    data: any;
    constructor(elementRef: ElementRef, jsf: JsonSchemaFormService, ngZone: NgZone);
    ngOnInit(): void;
}
