import type { CompressionMode } from '../types/config.js';
import type { Message } from '../types/core.js';
export interface AutoCompactSessionOverrides {
    enabled: boolean | null;
    threshold: number | null;
    mode: CompressionMode | null;
}
export declare const autoCompactSessionOverrides: AutoCompactSessionOverrides;
/**
 * Perform auto-compact on messages (async)
 * Returns compressed messages if compression was performed, null otherwise
 */
export declare function performAutoCompact(messages: Message[], systemMessage: Message, provider: string, model: string, config: {
    enabled: boolean;
    threshold: number;
    mode: CompressionMode;
    notifyUser: boolean;
}, onNotify?: (message: string) => void): Promise<Message[] | null>;
export declare function setAutoCompactEnabled(enabled: boolean | null): void;
export declare function setAutoCompactThreshold(threshold: number | null): void;
export declare function setAutoCompactMode(mode: CompressionMode | null): void;
export declare function resetAutoCompactSession(): void;
//# sourceMappingURL=auto-compact.d.ts.map