/**
 * LLMLingua-2 document compression client.
 *
 * Calls the LLMLingua-2 Python microservice (MIN-576) to compress retrieved
 * documents (web pages, email threads, tool outputs) before context injection.
 * Uses XLM-RoBERTa 125M to score token retention probability — 2–5× compression
 * at 95%+ answer preservation, preserving original text unlike summarization.
 *
 * Activated by setting LLMLINGUA_URL. Falls back silently on any error so the
 * pipeline is never blocked by compression failures.
 *
 * Microservice API:
 *   POST /compress
 *   Body: { text: string; targetRatio: number }
 *   Response: { compressed: string; originalTokens: number; compressedTokens: number; ratio: number }
 */
export type LLMLingua2Config = {
    url: string;
    targetRatio: number;
    minChars: number;
    timeoutMs: number;
};
export type LLMLingua2CompressResponse = {
    compressed: string;
    originalTokens: number;
    compressedTokens: number;
    ratio: number;
};
/**
 * Resolve LLMLingua-2 config from environment variables.
 * Returns undefined when LLMLINGUA_URL is not set (compression disabled).
 */
export declare function resolveLLMLingua2Config(): LLMLingua2Config | undefined;
/**
 * Compress a text document using LLMLingua-2.
 * Returns the original text on any error (fail-soft — never blocks the pipeline).
 */
export declare function compressDocument(text: string, cfg: LLMLingua2Config): Promise<string>;
/**
 * Compress a document if LLMLingua-2 is configured.
 * Convenience wrapper: resolves config and compresses in one call.
 * Returns the original text when compression is disabled or unavailable.
 */
export declare function maybeCompressDocument(text: string, cfg: LLMLingua2Config | undefined): Promise<string>;
