import winston from "winston"; import type { LogEntry } from "../log-entry"; import type { LogLevel } from "../logger"; import { Writer } from "./base"; import type { BaseWriterParams } from "./base"; export interface FileWriterConfig extends BaseWriterParams { level: LogLevel; logFilePath: string; fileTransportOptions?: object; json?: boolean; truncatePrevious?: boolean; } type FileTransportOptions = winston.transports.FileTransportOptions; export declare function render(level: LogLevel, entry: LogEntry): string | null; export declare class FileWriter extends Writer { type: string; protected fileLogger: winston.Logger | null; protected logFilePath: string; protected fileTransportOptions: FileTransportOptions; constructor(config: FileWriterConfig); static factory(config: FileWriterConfig): Promise; initFileLogger(): winston.Logger; render(entry: LogEntry): string | null; write(entry: LogEntry): void; } export {};