import type { ProviderCompactResult } from '../../provider.js'; import type { TraceSink } from '../../trace/index.js'; import type { CompactionTrigger } from '../../trace/types.js'; import { readShrinkFraction, type CompactionOps, type MicrocompactOps, type MicrocompactOptions, type MicrocompactResult } from '../shared/compaction.js'; export { readShrinkFraction }; import type { OpenAIMessage } from './messages.js'; export declare function isFreshUserTurn(msg: OpenAIMessage): boolean; export declare const openaiMicrocompactOps: MicrocompactOps; export declare function microcompactToolResults(messages: ReadonlyArray, opts?: MicrocompactOptions): MicrocompactResult; export declare const openaiCompactionOps: CompactionOps; export interface CompactOpenAIHistoryDeps { priorTurns: OpenAIMessage[]; summarize: (transcript: string, signal: AbortSignal) => Promise; isClosed: boolean; isIdle: boolean; beginAbort: () => AbortController; clearAbort: (controller: AbortController) => void; trigger?: CompactionTrigger; traceWriter?: TraceSink; usedFraction?: number; shrinkAtFraction?: number; } export declare function compactOpenAIHistory(deps: CompactOpenAIHistoryDeps): Promise;