import { BuiltInVariables } from "../buildInVariables";
import { BuildInStr } from ".";
import { IKeyObjectValue } from "../../../type";
interface ILogArgs {
    message?: string;
    formatString?: string;
}
interface ILog {
    message: string;
    time: number;
    barIndex: number;
    type: LogType;
    id: string;
}
type LogType = 'error' | 'info' | 'warning';
export declare class Log {
    private _logs;
    private _variables;
    private _str;
    private _preBar;
    constructor(variables: BuiltInVariables, str: BuildInStr);
    get _logCacheData(): {
        barIndex: number;
        isrealtime: boolean;
    };
    set _logCacheData(data: {
        barIndex: number;
        isrealtime: boolean;
    });
    get logs(): ILog[];
    clearLogForIndex(index: number): void;
    clearLogs(): void;
    info(args: ILogArgs, replaces: (string | number | IKeyObjectValue)[], posStr: string): void;
    error(args: ILogArgs, replaces: (string | number | IKeyObjectValue)[], posStr: string): void;
    warning(args: ILogArgs, replaces: (string | number | IKeyObjectValue)[], posStr: string): void;
    mergeLogs(logs: ILog[]): void;
    private _addLog;
}
export {};
