export interface ILog {
    (...data: any[]): void;
}
export interface ILogGroup {
    (...label: any[]): void;
}
export interface ILogGroupEnd {
    (): void;
}
export interface ILogTime {
    (label?: string): void;
}
export interface ILogTimeStep {
    (label?: string, ...data: any[]): void;
}
export interface ILogTimeEnd {
    (label?: string): void;
}
export interface ILogTrace {
    (...data: any[]): void;
}
export interface IBaseLoggerOption {
    enable?: boolean;
    log?: ILog;
    logGroup?: ILogGroup;
    logGroupEnd?: ILogGroupEnd;
    logTime?: ILogTime;
    logTimeStep?: ILogTimeStep;
    logTimeEnd?: ILogTimeEnd;
    logTrace?: ILogTrace;
}
export interface ILogger {
    log: ILog;
    logGroup: ILogGroup;
    logGroupEnd: ILogGroupEnd;
    logTime: ILogTime;
    logTimeStep: ILogTimeStep;
    logTimeEnd: ILogTimeEnd;
    logTrace: ILogTrace;
}
export declare class BaseLogger implements ILogger {
    private _option;
    constructor(option?: IBaseLoggerOption);
    log(...data: any[]): void;
    logGroup(...label: any[]): void;
    logGroupEnd(): void;
    logTime(label?: string): void;
    logTimeStep(label?: string, ...data: any[]): void;
    logTimeEnd(label?: string): void;
    logTrace(...data: any[]): void;
    set baseOption(option: IBaseLoggerOption);
    get baseOption(): IBaseLoggerOption;
    setEnable(enable?: boolean): void;
}
