import type { IAnnotation } from "../../Charting/Visuals/Annotations/IAnnotation";
import { EChart2DModifierType } from "../../types/ChartModifierType";
import { ECursorStyle } from "../../types/CursorStyle";
import { IPointerEventsMediatorModifierOptions, PointerEventsMediatorModifier } from "./PointerEventsMediatorModifier";
import { ModifierMouseArgs } from "./ModifierMouseArgs";
/**
 * Options for the {@link AnnotationHoverModifier}.
 */
export interface IAnnotationHoverModifierOptions extends IPointerEventsMediatorModifierOptions<IAnnotation> {
    /**
     * Toggles cursor updates driven by annotation interaction handles.
     * Default `true`.
     */
    enableCursor?: boolean;
    /**
     * Default cursor when no annotation handle/body is active.
     * Default `auto`.
     */
    idleCursor?: ECursorStyle | string;
}
/**
 * Enables hover detection on annotations.
 * Accepts {@link IAnnotationHoverModifierOptions}
 *
 * ---
 * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-modifier-api/selection/annotation-hover/}
 */
export declare class AnnotationHoverModifier extends PointerEventsMediatorModifier<IAnnotation> {
    readonly type: EChart2DModifierType;
    private enableCursorProperty;
    private idleCursorProperty;
    private cursorHost;
    private lastAppliedCursor;
    /**
     * Creates an instance of the AnnotationHoverModifier
     * @param options Optional parameters of type {@link IAnnotationHoverModifierOptions} used to configure the modifier
     *
     * ---
     * 📚 Docs: {@link https://www.scichart.com/documentation/js/v4/2d-charts/chart-modifier-api/selection/annotation-hover/}
     */
    constructor(options?: IAnnotationHoverModifierOptions);
    /** @inheritDoc */
    onAttach(): void;
    /** @inheritDoc */
    onDetach(): void;
    /** @inheritDoc */
    modifierMouseMove(args: ModifierMouseArgs): void;
    /** @inheritDoc */
    modifierMouseDown(args: ModifierMouseArgs): void;
    /** @inheritDoc */
    modifierMouseUp(args: ModifierMouseArgs): void;
    /** @inheritDoc */
    modifierMouseLeave(args: ModifierMouseArgs): void;
    /** @inheritDoc */
    toJSON(): {
        type: EChart2DModifierType;
        options: Required<IPointerEventsMediatorModifierOptions<import("../..").IHoverable>>;
    };
    getAllTargets(): IAnnotation[];
    private updateCursor;
    private clearHoverState;
    private clearCursor;
    private applyCursor;
    private getCursorHost;
    private isInteractionBypassActive;
}
