import { Point, Type } from "igniteui-webcomponents-core";
import { DragType } from "./DragType";
import { CellPath } from "./CellPath";
import { DragSelectEventArgs } from "./DragSelectEventArgs";
/**
 * @hidden
 */
export interface IDraggerView {
    readonly model: IDragger;
    provideContainer(a: any): void;
    captureMouse(): void;
    releaseMouse(): void;
    transformPoint(a: number, b: number): Point;
    onViewportSizeChanged(a: number, b: number): void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    addCloneCellToDom(): void;
    removeCloneCellFromDom(): void;
    getTopAndLeft(): number[];
    getWindowScrollPos(): number[];
}
/**
 * @hidden
 */
export declare let IDraggerView_$type: Type;
/**
 * @hidden
 */
export interface IDragger {
    readonly view: IDraggerView;
    readonly dragType: DragType;
    readonly isDragActive: boolean;
    readonly cellPath: CellPath;
    cloneCell: any;
    viewportWidth: number;
    viewportHeight: number;
    provideContainer(a: any): void;
    dragStart(a: number, b: number, c: number, d: number, e: DragType, f: CellPath, g: boolean): void;
    cancel(): void;
    onMouseMove(a: number, b: number): void;
    onMouseUp(a: number, b: number): void;
    onDrag: (sender: any, args: DragSelectEventArgs) => void;
    onDragEnd: (sender: any, args: DragSelectEventArgs) => void;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
}
/**
 * @hidden
 */
export declare let IDragger_$type: Type;
