import { CdkDrag } from '@angular/cdk/drag-drop';
import { OnDestroy, OnInit } from '@angular/core';
import * as i0 from "@angular/core";
export declare class ReorderableModelDirective<T> extends CdkDrag implements OnInit, OnDestroy {
    set uxReorderableModel(model: T);
    /** Apply the dragula preview class to avoid backwards compatibility issues */
    previewClass: string;
    /** Preserve the column widths */
    private readonly _widths;
    /** Unsubscribe on destroy */
    private readonly _destroy$;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * When table elements are being dragged they are hoisted to the document level
     * when dragged they lose the sizing and spacing provided when they are used inside a table.
     *
     * This function will capture the styles so we can inline them to preseve the styling.
     */
    private captureTableCellStyles;
    private setTableCellWidths;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReorderableModelDirective<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ReorderableModelDirective<any>, "[uxReorderableModel]", never, { "uxReorderableModel": { "alias": "uxReorderableModel"; "required": false; }; }, {}, never, never, false, never>;
}
