import { Base, INotifyPropertyChanged, PropertyChangedEventArgs, Type } from "igniteui-webcomponents-core";
import { IDragger } from "./IDragger";
import { IDraggerView } from "./IDraggerView";
import { DragType } from "./DragType";
import { CellPath } from "./CellPath";
import { DragSelectEventArgs } from "./DragSelectEventArgs";
/**
 * @hidden
 */
export declare class Dragger extends Base implements IDragger, INotifyPropertyChanged {
    static $t: Type;
    private q;
    private d;
    private h;
    private i;
    private c;
    get view(): IDraggerView;
    set view(a: IDraggerView);
    private b;
    get dragType(): DragType;
    private e;
    get isDragActive(): boolean;
    private a;
    get cellPath(): CellPath;
    private j;
    get cloneCell(): any;
    set cloneCell(a: any);
    private g;
    get viewportWidth(): number;
    set viewportWidth(a: number);
    private f;
    get viewportHeight(): number;
    set viewportHeight(a: number);
    onDrag: (sender: any, args: DragSelectEventArgs) => void;
    onDragEnd: (sender: any, args: DragSelectEventArgs) => void;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    private o;
    onDetachedFromUI(): void;
    onAttachedToUI(): void;
    provideContainer(a: any): void;
    onMouseMove(a: number, b: number): void;
    onMouseUp(a: number, b: number): void;
    dragStart(a: number, b: number, c: number, d: number, e: DragType, f: CellPath, g: boolean): void;
    cancel(): void;
    private n;
    protected p(a: string, b: any, c: any): void;
}
