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

/**
 * CompactClient — calls the Morph /v1/compact endpoint.
 *
 * Returns per-message compacted_line_ranges showing which lines were removed.
 */

declare class CompactClient {
    private config;
    constructor(config?: CompactConfig);
    /**
     * Compact messages or text via /v1/compact.
     * Returns per-message `compacted_line_ranges` showing which lines were removed.
     *
     * @example
     * ```typescript
     * const client = new CompactClient({ morphApiKey: 'sk-...' });
     * const result = await client.compact({
     *   input: codeFile,
     *   query: "authentication",
     *   compressionRatio: 0.5,
     * });
     * console.log(result.output);
     * ```
     */
    compact(input: CompactInput): Promise<CompactResult>;
}

export { CompactClient };
