import { IKeyObjectValue } from "../../../type";
import { BuiltInVariables } from "../buildInVariables";
import { VExtend, VLineStyle, VSize, VText, VXloc } from "../enum";
import { IDrawComponent } from "../type";
import { IPoint as Point, TccErrorListener } from "./index";
export interface IBoxArgs {
    id?: string;
    top_left?: Point;
    left?: number;
    top?: number;
    right?: number;
    bottom?: number;
    bottom_right?: Point;
    border_color?: string;
    border_width?: number;
    border_style?: VLineStyle;
    style?: VLineStyle;
    xloc?: VXloc;
    bgcolor?: string;
    text?: string;
    text_size?: VSize;
    text_color?: string;
    extend?: VExtend;
    text_halign?: VText;
    text_valign?: VText;
    text_wrap?: VText;
    text_font_family?: string;
    color?: string;
    point?: Point;
    width?: number;
    bar_index?: number;
    text_formatting?: string[];
}
type VBoxArgs = Omit<IBoxArgs, 'id'> & {
    id: IDrawComponent;
};
export default class BuildInBox {
    private _variables;
    private _errorListener;
    private _updateIds;
    private _defaultBox;
    constructor(variables: BuiltInVariables, errorListener: TccErrorListener);
    get updateIds(): string[];
    box({ x }: {
        x?: IDrawComponent;
    }): IDrawComponent | undefined;
    new(args: IBoxArgs, posStr: string, paramNames: string[]): IDrawComponent | undefined;
    private _parameterHandle;
    private _preVerfiyArgs;
    private _paramVerfiyHandle;
    private _verfiyArgs;
    private _paramVerfiy;
    updateId(box: IDrawComponent): string;
    copy({ id }: VBoxArgs, posStr: string): IDrawComponent | undefined;
    delete({ id }: VBoxArgs, posStr: string): void;
    get_top({ id }: VBoxArgs, posStr: string): any;
    get_bottom({ id }: VBoxArgs, posStr: string): any;
    get_left({ id }: VBoxArgs, posStr: string): any;
    get_right({ id }: VBoxArgs, posStr: string): any;
    set_top({ id, top }: VBoxArgs, posStr: string): void;
    set_bottom({ id, bottom }: VBoxArgs, posStr: string): void;
    set_text({ id, text }: VBoxArgs, posStr: string): void;
    set_left({ id, left }: VBoxArgs, posStr: string): void;
    set_right({ id, right }: VBoxArgs, posStr: string): void;
    set_extend({ id, extend }: VBoxArgs, posStr: string): void;
    set_bgcolor({ id, color }: VBoxArgs, posStr: string): void;
    set_border_color({ id, color }: VBoxArgs, posStr: string): void;
    set_border_width({ id, width }: VBoxArgs, posStr: string): void;
    set_border_style({ id, style }: VBoxArgs, posStr: string): void;
    set_lefttop({ id, left, top }: VBoxArgs, posStr: string): void;
    set_rightbottom({ id, right, bottom }: VBoxArgs, posStr: string): void;
    set_text_size({ id, text_size }: VBoxArgs, posStr: string): void;
    set_text_wrap({ id, text_wrap }: VBoxArgs, posStr: string): void;
    set_text_color({ id, text_color }: VBoxArgs, posStr: string): void;
    set_text_halign({ id, text_halign }: VBoxArgs, posStr: string): void;
    set_text_valign({ id, text_valign }: VBoxArgs, posStr: string): void;
    set_top_left_point({ id, point }: VBoxArgs, posStr: string): void;
    set_bottom_right_point({ id, point }: VBoxArgs, posStr: string): void;
    set_text_font_family({ id, text_font_family }: VBoxArgs, posStr: string): void;
    set_xloc({ id, left, right, xloc }: VBoxArgs, posStr: string): void;
    set_text_formatting({ id, text_formatting }: VBoxArgs, posStr: string): void;
    private _getBox;
}
export declare function createBox(key: string, data: IKeyObjectValue): IDrawComponent;
export {};
