import { LogEntry, LogOutput } from './types.js'; export declare abstract class BaseOutput { abstract write(entry: LogEntry, formatted: string): Promise | void; } export declare class ConsoleOutput extends BaseOutput { write(entry: LogEntry, formatted: string): void; } export declare class FileOutput extends BaseOutput { private readonly filePath; private readonly maxSize; private readonly maxFiles; private fileHandler; private initPromise; constructor(filePath: string, maxSize?: number, // 10MB maxFiles?: number); write(entry: LogEntry, formatted: string): Promise; retrieveLogs(): Array<{ timestamp: string; content: string; }> | null; clearLogs(): void; } export declare class CustomOutput extends BaseOutput { private readonly handler; constructor(handler: (entry: LogEntry) => void | Promise); write(entry: LogEntry): Promise; } export declare class BrowserConsoleOutput extends BaseOutput { write(entry: LogEntry, formatted: string): void; private getConsoleStyles; } export declare class RemoteOutput extends BaseOutput { private readonly endpoint; private readonly batchSize; private readonly flushInterval; constructor(endpoint: string, batchSize?: number, flushInterval?: number); private batch; private batchTimer; write(entry: LogEntry): Promise; private startBatchProcessor; private flush; destroy(): void; } export declare function createOutput(config: LogOutput): BaseOutput; //# sourceMappingURL=outputs.d.ts.map