import { LogEntry, AppenderConfig } from '../core/types';
import { BaseAppender } from './BaseAppender';
export interface FileAppenderConfig extends AppenderConfig {
    logDirectory?: string;
    fileName?: string;
    format?: string;
    rotation?: 'daily' | 'hourly';
    maxSize?: number;
    maxFiles?: number;
}
export declare class FileAppender extends BaseAppender {
    private readonly logDirectory;
    private readonly fileName;
    private readonly formatTemplate;
    private readonly rotation?;
    private readonly maxSize;
    private readonly maxFiles;
    private readonly dateFormatter;
    private readonly timeFormatter;
    private currentFilePath;
    private currentFileSize;
    private currentFileDateMarker;
    constructor(config?: FileAppenderConfig);
    private initializeState;
    handle(entry: LogEntry): void;
    handleBatch(entries: LogEntry[]): Promise<void>;
    private checkForRotation;
    private rotate;
    private prune;
    private getArchives;
    private getCurrentFilename;
    private getDateMarker;
    private formatLog;
}
