import { LogLevel } from './log-level';
import { LogOptions } from './log-options';
import { LogMessageSerializer } from './serializer/serializer';
import { Writer } from './writer/writer';
interface LoggerConfig {
    writers: Writer[];
    level?: LogLevel;
    serializer?: LogMessageSerializer;
}
export declare class Logger {
    private writers;
    private batchableWriters;
    private serializer;
    private level;
    constructor(config: LoggerConfig);
    addWriter(writer: Writer): void;
    flush(): void;
    debug(message: unknown, options?: LogOptions): void;
    info(message: unknown, options?: LogOptions): void;
    error(message: unknown, options?: LogOptions): void;
    warn(message: unknown, options?: LogOptions): void;
    private log;
}
export {};
