import { IKeyObjectValue } from "../../../type";
import { BuiltInVariables } from "../buildInVariables";
import { VExtend, VLineStyle, VXloc } from "../enum";
import { IDrawComponent } from "../type";
import { TccErrorListener } from "./index";
export interface IBoxArgs {
    id?: string;
    left?: number;
    top?: number;
    right?: number;
    bottom?: number;
    border_color?: string;
    border_width?: number;
    border_style?: VLineStyle;
    style?: VLineStyle;
    xloc?: VXloc;
    bgcolor?: string;
    extend?: VExtend;
    color?: string;
    width?: number;
    bar_index?: number;
}
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): IDrawComponent;
    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_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;
    private _getBox;
}
export declare function createBox(key: string, data: IKeyObjectValue): IDrawComponent;
export {};
