import type { LogLevel, LogSubscriber } from "./log-buffer.js"; /** Configuration used by file log. */ export interface FileLogConfig { enabled: boolean; path: string; maxSize: number | string; /** Total retained files, including the active log file. */ maxFiles: number; level: LogLevel; format: "json" | "text"; } /** Parses max size. */ export declare function parseMaxSize(value: number | string): number; /** Writes every byte, including when the underlying writer makes partial progress. */ export declare function writeAll(writer: { write(bytes: Uint8Array): Promise; }, bytes: Uint8Array): Promise; /** Implement file log subscriber. */ export declare class FileLogSubscriber { private file; private currentSize; private writeQueue; private pendingFailures; private pendingWrites; private omittedFailureCount; private queueGeneration; private activeFlush; private closePromise; private maxSizeBytes; private minLevel; private formatter; private closed; private permissionFailed; private reportingFailure; private config; private readonly encoder; constructor(config: FileLogConfig); getSubscriber(): LogSubscriber; private enqueue; private recordFailure; private writeEntry; private disableForPermissionFailure; private rollbackPartialRecord; private openFile; private ensureDir; private reportFailure; private closeCurrentFile; private closeCurrentFileQuietly; private closeCurrentFileForShutdown; private rotate; flush(): Promise; private performFlush; close(): Promise; private throwFailures; } /** Create file log subscriber. */ export declare function createFileLogSubscriber(config: FileLogConfig): FileLogSubscriber; //# sourceMappingURL=file-log-subscriber.d.ts.map