import { Appender, AppenderConfig, LogEntry } from '../core/types';
import { LogLevel } from '../constants';
export declare abstract class BaseAppender implements Appender {
    readonly name: string;
    protected readonly minLevel: LogLevel;
    protected readonly batchSize: number;
    protected readonly batchInterval: number;
    protected readonly timezone?: string;
    private buffer;
    private timer;
    constructor(name: string, config: AppenderConfig, defaultConfig?: Partial<AppenderConfig>);
    log(entry: LogEntry): Promise<void>;
    flush(): Promise<void>;
    private startTimer;
    private stopTimer;
    abstract handle(entry: LogEntry): Promise<void> | void;
    handleBatch?(entries: LogEntry[]): Promise<void> | void;
}
