/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
import { URI } from "../../../base/common/uri.mjs";
import { IFileService } from "../../files/common/files.mjs";
import { AbstractLoggerService, AbstractMessageLogger, ILogger, ILoggerOptions, ILoggerService, ILogService, LogLevel } from "./log.mjs";
export declare class FileLogger extends AbstractMessageLogger implements ILogger {
    private readonly resource;
    private readonly donotUseFormatters;
    private readonly fileService;
    private readonly initializePromise;
    private readonly queue;
    private backupIndex;
    constructor(name: string, resource: URI, level: LogLevel, donotUseFormatters: boolean, fileService: IFileService);
    flush(): void;
    private initialize;
    protected log(level: LogLevel, message: string): void;
    private getCurrentTimestamp;
    private getBackupResource;
    private loadContent;
    private stringifyLogLevel;
}
export declare class FileLoggerService extends AbstractLoggerService implements ILoggerService {
    private readonly fileService;
    constructor(logService: ILogService, fileService: IFileService);
    protected doCreateLogger(resource: URI, logLevel: LogLevel, options?: ILoggerOptions): ILogger;
}
