import { LogClient } from "./LogClient.js";
import { LogLevel, type LogParam } from "./types.js";
type LogRotateListener = () => void;
export declare abstract class LogClient_BaseRotate extends LogClient {
    readonly name: string;
    readonly maxEntries: number;
    readonly maxSize: number;
    protected bufferSize: number;
    private rotationListener?;
    protected constructor(name: string, maxEntries?: number, maxSize?: number);
    protected logMessage(level: LogLevel, bold: boolean, prefix: string, toLog: LogParam[]): void;
    setRotationListener(rotationListener: LogRotateListener): this;
    protected abstract printLogMessage(log: string): void;
    private rotate;
    protected abstract cleanup(): void;
    protected abstract prepare(): void;
    protected abstract rotateBuffer(fromIndex: number, toIndex: number): void;
}
export {};
//# sourceMappingURL=LogClient_BaseRotate.d.ts.map