import { CompactConfig, CompactInput, CompactResult } from './types.js';
import '../utils/resilience.js';
import 'openai/resources/responses/responses';

/**
 * Core implementation of Morph Compact
 *
 * Uses the OpenAI Responses API to compact conversation context
 * via the Morph compactor model.
 */

/**
 * CompactClient for programmatic context compaction
 */
declare class CompactClient {
    private config;
    constructor(config?: CompactConfig);
    /**
     * Compact conversation context using Morph compactor
     *
     * @param input - Compact parameters including input content and optional prompt
     * @returns Compact result with compacted output and usage stats
     *
     * @example
     * ```typescript
     * const client = new CompactClient({ morphApiKey: 'sk-...' });
     * const result = await client.compact({
     *   input: 'Long conversation context to compact...',
     *   prompt: 'Focus on the code review feedback',
     * });
     * console.log(result.output);
     * ```
     */
    compact(input: CompactInput): Promise<CompactResult>;
}

export { CompactClient };
