import { IKeyObjectValue } from "../../../type";
import { BuiltInVariables } from "../buildInVariables";
import { VLabelStyle, VSize, VText, VXloc, VYloc } from "../enum";
import { IDrawComponent } from "../type";
import { TccErrorListener } from "./index";
interface ILabelArgs {
    id: string;
    text: string;
    x: number;
    y: number;
    xloc: VXloc;
    yloc: VYloc;
    color: string;
    size: VSize;
    style: VLabelStyle;
    textalign: VText;
    textcolor: string;
    tooltip: string;
    text_font_family: string;
    force_overlay: boolean;
}
export type PartialLabelArgs = Partial<ILabelArgs>;
type TLabelArgs = Omit<PartialLabelArgs, 'id'> & {
    id: IDrawComponent;
};
export default class BuildInLabel {
    private _variables;
    private _errorListener;
    private _updateIds;
    private _defaultLabel;
    constructor(variables: BuiltInVariables, errorListener: TccErrorListener);
    get updateIds(): string[];
    new(args: PartialLabelArgs, posStr: string): IDrawComponent;
    private _paramVerfiyHandle;
    private _verfiyArgs;
    private _paramVerfiy;
    updateId(id: IDrawComponent): string;
    label(args: {
        x?: IDrawComponent;
    }): IDrawComponent | undefined;
    copy({ id }: TLabelArgs, posStr: string): IDrawComponent | undefined;
    get_x({ id }: TLabelArgs, posStr: string): any;
    get_y({ id }: TLabelArgs, posStr: string): any;
    set_x({ id, x }: TLabelArgs, posStr: string): void;
    set_y({ id, y }: TLabelArgs, posStr: string): void;
    delete({ id }: TLabelArgs, posStr: string): void;
    get_text({ id }: TLabelArgs, posStr: string): any;
    set_xy({ id, x, y }: TLabelArgs, posStr: string): void;
    set_size({ id, size }: TLabelArgs, posStr: string): void;
    set_xloc({ id, x, xloc }: TLabelArgs, posStr: string): void;
    set_yloc({ id, yloc }: TLabelArgs, posStr: string): void;
    set_style({ id, style }: TLabelArgs, posStr: string): void;
    set_color({ id, ...args }: TLabelArgs, posStr: string): void;
    set_tooltip({ id, tooltip }: TLabelArgs, posStr: string): void;
    set_text({ id, text }: TLabelArgs, posStr: string): void;
    set_textcolor({ id, ...args }: TLabelArgs, posStr: string): void;
    set_textalign({ id, textalign }: TLabelArgs, posStr: string): void;
    private _getLabel;
}
export declare function createLabel(key: string, data: IKeyObjectValue): IDrawComponent;
export {};
