import type { Message } from '../core/session/session-jsonl.js'; import { type SummarizeFn } from './compaction.js'; export declare function resolveRemoteCompactUrls(endpoint: string): { compactUrl: string; healthUrl: string; }; export interface RemoteCompactRequest { messages: Message[]; systemPrompt?: string; maxOutputTokens: number; contextWindowTokens: number; model?: string; customInstructions?: string; abortSignal?: AbortSignal; } export interface RemoteCompactResponse { summary: string; compactedMessages?: Message[]; tokensSaved: number; method: 'remote' | 'local_fallback'; } export interface RemoteCompactProvider { compact(request: RemoteCompactRequest): Promise; isAvailable(): Promise; } export interface HybridCompactionConfig { remoteProvider?: RemoteCompactProvider; localSummarize: SummarizeFn; contextWindowTokens: number; reserveTokens?: number; customInstructions?: string; abortSignal?: AbortSignal; } export declare class HttpRemoteCompactProvider implements RemoteCompactProvider { private readonly compactUrl; private readonly healthUrl; private apiKey?; private timeoutMs; constructor(params: { endpoint: string; apiKey?: string; timeoutMs?: number; }); isAvailable(): Promise; compact(request: RemoteCompactRequest): Promise; } export declare function hybridCompact(config: HybridCompactionConfig, messages: Message[], systemPrompt?: string): Promise<{ summary: string; summaryMessage: Message; method: 'remote' | 'local_fallback' | 'local_only'; tokensSaved: number; }>; export declare function createRemoteCompactProviderFromEnv(): RemoteCompactProvider | undefined; //# sourceMappingURL=remote-compaction.d.ts.map