/*---------------------------------------------------------------------------------------------
 *  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 '@sussudio/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;
}
