/********************************************************************
 * @author:      Kaven
 * @email:       kaven@wuwenkai.com
 * @website:     http://blog.kaven.xyz
 * @file:        [Kaven-Utils] /src/logger/FileLogger.ts
 * @create:      2025-06-19 17:39:49.430
 * @modify:      2025-10-24 14:43:06.729
 * @version:     6.1.2
 * @times:       25
 * @lines:       123
 * @copyright:   Copyright © 2025 Kaven. All Rights Reserved.
 * @description: [description]
 * @license:     [license]
 ********************************************************************/
import { ILogger, ILoggingAgent, LogLevel, LogType } from "kaven-basic";
import { IFileLoggerOptions } from "../base/Interfaces.js";
export declare class FileLogger implements ILogger {
    private readonly file;
    private stream?;
    private timer?;
    readonly Type = LogType.File;
    readonly Options: IFileLoggerOptions;
    readonly Levels: LogLevel[];
    constructor(file: string, options?: IFileLoggerOptions);
    Write(data: string, _level: LogLevel): void;
    Start(logger?: ILoggingAgent): void;
    Restart(): Promise<void>;
    ResetIfNecessary(): Promise<void>;
    Stop(logger?: ILoggingAgent): Promise<void>;
    Dispose(): Promise<void>;
    static StartNew(file: string, options?: IFileLoggerOptions): FileLogger;
}
