import { IKeyObjectValue } from "../../../type";
import { BuiltInVariables } from "../buildInVariables";
import { IDrawComponent } from "../type";
import { ILineArgs, ILine } from "./line";
interface ILinefillArgs {
    id?: ILinefill;
    line1?: ILine;
    line2?: ILine;
    color?: string;
    bar_index?: number;
}
export type TLinefill = Omit<ILinefillArgs, 'line1' | 'line2' | 'id'> & {
    id: string;
    line1?: ILineArgs;
    line2?: ILineArgs;
};
export default class BuildInLinefill {
    private _variables;
    private _updateIds;
    constructor(variables: BuiltInVariables);
    get updateIds(): string[];
    linefill(args: {
        x?: ILinefill;
    }): ILinefill | undefined;
    new(args: ILinefillArgs, posStr: string): ILinefill;
    private _verifyLineKey;
    updateId(id: ILinefill): string;
    delete({ id }: ILinefillArgs): void;
    get_line1({ id }: ILinefillArgs): ILine | undefined;
    get_line2({ id }: ILinefillArgs): ILine | undefined;
    set_color({ id, ...args }: ILinefillArgs): void;
}
export interface ILinefill extends IDrawComponent {
    line1?: ILine;
    line2?: ILine;
    lineKey: string;
}
export declare function createLinefill(key: string, data: IKeyObjectValue, lineKey: string, line1?: ILine, line2?: ILine): ILinefill;
export {};
