import { OnDestroy, TemplateRef } from '@angular/core';
import { IgxDragDirective } from '../directives/drag-drop/drag-drop.directive';
import { IgxGridEmptyTemplateContext, IgxGridRowDragGhostContext } from './common/grid.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class IgxRowDragDirective extends IgxDragDirective implements OnDestroy {
    set data(value: any);
    get data(): any;
    private subscription$;
    private _rowDragStarted;
    private get row();
    onPointerDown(event: any): void;
    onPointerMove(event: any): void;
    onPointerUp(event: any): void;
    protected createGhost(pageX: any, pageY: any): void;
    private _unsubscribe;
    private endDragging;
    private transitionEndEvent;
    private get isHierarchicalGrid();
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowDragDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRowDragDirective, "[igxRowDrag]", never, { "data": "igxRowDrag"; }, {}, never, never, false>;
}
/**
 * @hidden
 */
export declare class IgxDragIndicatorIconDirective {
    static ngTemplateContextGuard(_directive: IgxDragIndicatorIconDirective, context: unknown): context is IgxGridEmptyTemplateContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxDragIndicatorIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxDragIndicatorIconDirective, "[igxDragIndicatorIcon]", never, {}, {}, never, never, false>;
}
/**
 * @hidden
 */
export declare class IgxRowDragGhostDirective {
    templateRef: TemplateRef<IgxGridRowDragGhostContext>;
    constructor(templateRef: TemplateRef<IgxGridRowDragGhostContext>);
    static ngTemplateContextGuard(_directive: IgxRowDragGhostDirective, context: unknown): context is IgxGridRowDragGhostContext;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowDragGhostDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgxRowDragGhostDirective, "[igxRowDragGhost]", never, {}, {}, never, never, false>;
}
export declare class IgxRowDragModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxRowDragModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<IgxRowDragModule, [typeof IgxRowDragDirective, typeof IgxDragIndicatorIconDirective, typeof IgxRowDragGhostDirective], never, [typeof IgxRowDragDirective, typeof IgxDragIndicatorIconDirective, typeof IgxRowDragGhostDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<IgxRowDragModule>;
}
