import { Debug, type Point, StateMachine } from 'ag-charts-core';
import type { AnnotationContext } from '../annotationTypes';
import type { AnnotationProperties, AnnotationsStateMachineContext } from '../annotationsSuperTypes';
import type { AnnotationStateEvents } from './stateTypes';
export declare class DragStateMachine<Datum extends AnnotationProperties, Node extends {
    dragStart: (datum: Datum, offset: Point, context: AnnotationContext) => void;
    drag: (datum: Datum, offset: Point, context: AnnotationContext, snapping: boolean) => void;
    stopDragging: () => void;
}> extends StateMachine<'idle' | 'dragging', Pick<AnnotationStateEvents, 'keyDown' | 'keyUp' | 'drag' | 'dragStart' | 'dragEnd'>> {
    debug: Debug.DebugLogger;
    protected hasMoved: boolean;
    protected dragStart?: Point;
    protected snapping: boolean;
    protected datum?: Datum;
    protected node?: Node;
    private offset?;
    constructor(ctx: AnnotationsStateMachineContext);
}
