/**
 * GeminiCliIntelligenceProvider — IntelligenceProvider using the Gemini CLI.
 *
 * Sibling of ClaudeCliIntelligenceProvider + CodexCliIntelligenceProvider.
 * Routes judgment calls through the Gemini CLI's verified one-shot
 * (`gemini -m <model> --approval-mode default -p <prompt>`) for gemini-cli
 * installs. Same fast/balanced/capable tier mapping the Gemini adapter uses;
 * same timeout semantics; same fail-loudly behavior so callers can fall back.
 *
 * Apprenticeship Step 2 (keystone Face 1): this is the THIRD IntelligenceProvider
 * implementation and the ALIVE path for the gemini body. `server.ts` registers
 * no provider-registry adapters, so the registry adapter
 * (src/providers/adapters/gemini-cli/) is the parity-harness surface; THIS
 * class — constructed by `buildIntelligenceProvider({ framework: 'gemini-cli' })`
 * — is what reviewers, sentinels, reflect, and route actually call.
 *
 * It carries a thin parallel spawn (mirroring CodexCliIntelligenceProvider's
 * structure) but factors the security-critical pieces through the registry
 * adapter's single source of transport truth — the canonical argv builder
 * and the env allowlist + billing-var hard-delete live in
 * providers/adapters/gemini-cli/transport/geminiSpawn.ts, imported here so
 * the alive path and the registry adapter can never diverge on safety.
 *
 * CANNOT-SURFACE-USAGE (token-audit-completeness, documented exemption):
 * this provider NEVER invokes options.onUsage — the gemini CLI's one-shot
 * plain-text output carries no per-call token usage block, so there is
 * nothing to parse. gemini-cli is therefore an `exempt: true` row in
 * /metrics/features usageCoverage. If a future gemini CLI gains a usage
 * surface, remove the exemption in FeatureMetricsLedger.USAGE_EXEMPT_FRAMEWORKS
 * and wire the parse — the provider usage-contract test pins this contract.
 */
import type { IntelligenceProvider, IntelligenceOptions } from './types.js';
import { type GeminiCapacityPolicyConfig } from '../providers/adapters/gemini-cli/observability/geminiCapacityPolicy.js';
export interface GeminiCliIntelligenceProviderOptions {
    /** Absolute path to the `gemini` CLI binary. */
    geminiPath: string;
    /**
     * Retained for API compatibility with the other providers' factories.
     * Gemini one-shot judgment calls don't depend on cwd content (the prompt
     * carries the full context), so this is currently unused — but the factory
     * forwards it, so it is accepted.
     */
    workingDirectory?: string;
    /** Optional override for the captured-output byte cap (per stream). */
    maxOutputBytes?: number;
    capacityPolicy?: GeminiCapacityPolicyConfig;
}
export declare class GeminiCliIntelligenceProvider implements IntelligenceProvider {
    private readonly geminiPath;
    private readonly maxOutputBytes;
    private readonly capacityPolicy;
    constructor(options: GeminiCliIntelligenceProviderOptions);
    evaluate(prompt: string, options?: IntelligenceOptions): Promise<string>;
}
//# sourceMappingURL=GeminiCliIntelligenceProvider.d.ts.map