import { AnnotationLineOption, AnnotationOption } from '../types/index.js';
import { BaseComponent } from './base.js';
export declare class Annotation extends BaseComponent<AnnotationOption> {
    get name(): string;
    annotationXFn: Array<(u: uPlot) => void>;
    annotationYFn: Array<(u: uPlot) => void>;
    render(): void;
    update(): void;
    lineX(options: AnnotationLineOption): this;
    lineY(options: AnnotationLineOption, empty?: boolean): this;
    areaY(options: AnnotationLineOption[], empty?: boolean): void;
    setOptions(type: 'lineY' | 'lineX' | 'areaX' | 'areaY', options: AnnotationLineOption | AnnotationLineOption[], empty?: boolean): void;
    getTextPosition(position: 'left' | 'right' | string, start: number, textWidth: number, width: number): number;
    getOptions(): {
        hooks: {
            draw: ((u: uPlot) => void)[];
        };
    };
}
