/********************************************************************
 * @author:      Kaven
 * @email:       kaven@wuwenkai.com
 * @website:     http://blog.kaven.xyz
 * @file:        [Kaven-Utils] /src/KavenLogger.ts
 * @create:      2020-01-19 14:55:07.833
 * @modify:      2024-11-01 10:48:07.333
 * @version:     5.4.5
 * @times:       55
 * @lines:       206
 * @copyright:   Copyright © 2020-2024 Kaven. All Rights Reserved.
 * @description: [description]
 * @license:     [license]
 ********************************************************************/
import { ILogColors, KavenLog } from "kaven-basic";
import { IKavenLoggerOptions } from "./base/Interfaces.js";
/**
 * @since 4.3.0
 * @version 2022-06-26
 */
export declare class KavenLogger {
    private static readonly _loggers;
    private static _logger;
    static get Default(): KavenLogger;
    static set Default(logger: KavenLogger);
    static get DefaultLogFile(): string;
    static AddLogger(name: string, logger: KavenLogger): void;
    static GetLogger(name: string): KavenLogger | undefined;
    static RemoveLogger(name: string): KavenLogger | undefined;
    private readonly logFiles;
    private readonly options;
    private timer?;
    private addLoggerFile;
    constructor(file: string, options?: IKavenLoggerOptions);
    constructor(options: IKavenLoggerOptions);
    EnableConsole: boolean;
    EnableAnsiColorForConsole: boolean;
    SaveWithAnsiColor: boolean;
    AnsiColorInfo: ILogColors;
    AnsiColorWarn: ILogColors;
    AnsiColorError: ILogColors;
    Log(log: KavenLog): void;
    Info(...args: unknown[]): void;
    Warn(...args: unknown[]): void;
    Error(...args: unknown[]): void;
    Start(): Promise<void>;
    ResetIfNecessary(): Promise<void>;
    Stop(): Promise<void>;
}
