/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
export interface IMoveControllerConfig {
    handleElement: HTMLElement;
    surfaceElement: HTMLElement;
    onMoveStart(): boolean;
    onMove(position: {
        x: number;
        y: number;
    }): boolean;
    onMoveEnd(): void;
}
declare const MoveBase: import("../..").AbstractConstructor<import("../mixins/interactions/moveable/with-moveable").WithMoveableContract> & ObjectConstructor;
export declare class MoveController extends MoveBase {
    private _config;
    constructor(_config: IMoveControllerConfig);
    destroy(): void;
    protected _getMoveableBounds(): DOMRect;
    protected _updatePosition(x: string | null, y: string | null): void;
    protected _onMoveStart(): boolean;
    protected _onMove(position: {
        x: number;
        y: number;
    }): boolean;
    protected _onMoveEnd(): void;
    private _startMoveListener;
    private _stopMoveListener;
}
export {};
