import { HtmlCustomAnnotation, IHtmlCustomAnnotationOptions } from "./HtmlCustomAnnotation";
import { EAnnotationType } from "./IAnnotation";
declare type StyleProperty = Exclude<keyof Omit<CSSStyleDeclaration, "length" | "parentRule" | "getPropertyPriority" | "getPropertyValue" | "item" | "removeProperty" | "setProperty">, number>;
export declare type TStyleDeclaration = Partial<Pick<CSSStyleDeclaration, StyleProperty>>;
/**
 * Optional parameters passed to an {@link TextAnnotation} during construction
 */
export interface IHtmlTextAnnotationOptions extends IHtmlCustomAnnotationOptions {
    /**
     * text provided by the user
     */
    text?: string;
    /**
     * text color provided by the user
     */
    textContainerStyle?: TStyleDeclaration;
}
/**
 * A HtmlTextAnnotation presents text information over the chart at specific {@link X1}, {@link Y1} coordinates
 */
export declare class HtmlTextAnnotation extends HtmlCustomAnnotation {
    readonly type: EAnnotationType;
    protected textProperty: string;
    protected textContainerStyleProperty: TStyleDeclaration;
    /**
     * Creates an instance of the {@link TextAnnotation}
     * @param options The {@link ITextAnnotationOptions} which contain optional parameters
     */
    constructor(options?: IHtmlTextAnnotationOptions);
    /**
     * text provided by the user
     */
    get text(): string;
    set text(text: string);
    /**
     * text provided by the user
     */
    get textContainerStyle(): TStyleDeclaration;
    set textContainerStyle(value: TStyleDeclaration);
    toJSON(): {
        type: EAnnotationType;
        options: Required<Omit<import("./AnnotationBase").IAnnotationBaseOptions, never>>;
    };
    protected setText(text: string): void;
    protected setStyle(style: TStyleDeclaration): void;
}
export {};
