/**
 * PiCliIntelligenceProvider — IntelligenceProvider using the pi coding agent
 * (PI-HARNESS-INTEGRATION-SPEC §4.4).
 *
 * Sibling of Claude/Codex/GeminiCliIntelligenceProvider: routes internal
 * component judgment calls (sentinels, gates, reviewers) through pi's
 * verified one-shot (`pi -p --mode json --no-session --offline`). This is
 * the ALIVE path for `sessions.componentFrameworks` routing to 'pi-cli' —
 * the registry adapter (src/providers/adapters/pi-cli/) shares the SAME
 * transport implementation (createOneShotCompletion), so the alive path and
 * the registry adapter can never diverge on safety:
 *
 *   - the env allowlist + billing-var hard-delete (piSpawn.buildPiChildEnv)
 *   - the STRUCTURAL SUBSCRIPTION GUARD (policy.assertPiProviderAllowed) —
 *     an Anthropic/Claude-routed model pattern throws before any spawn;
 *     an UNSET model pattern is also denied (pi's ambient default could be
 *     an Anthropic login), which is why this provider REQUIRES an explicit
 *     model pattern at construction.
 *
 * Model semantics: pi is multi-provider — the pattern is `provider/id`
 * (e.g. 'openai-codex/gpt-5.5' or a models.json custom provider). Tier
 * hints from callers (fast/balanced/capable) have no universal pi mapping
 * and resolve to the configured pattern; a caller-supplied EXPLICIT pattern
 * (contains '/') wins and is re-checked by the guard.
 */
import type { IntelligenceProvider, IntelligenceOptions } from './types.js';
export interface PiCliIntelligenceProviderOptions {
    /** Absolute path to the `pi` CLI binary. */
    piPath: string;
    /**
     * The pi `--model` pattern (`provider/id`) every call runs on. REQUIRED:
     * the subscription guard denies pattern-less calls (see header).
     */
    model: string;
    /**
     * Explicit opt-in for Anthropic-routed patterns (spec §4.3). Even when
     * true, every allowed call is audit-logged with a cost warning.
     */
    allowAnthropicProviders?: boolean;
    /** Optional working directory (pi tool execution cwd; judgment calls don't rely on it). */
    workingDirectory?: string;
    /** Optional override for the captured-output byte cap. */
    maxOutputBytes?: number;
}
export declare class PiCliIntelligenceProvider implements IntelligenceProvider {
    private readonly oneShot;
    private readonly model;
    private readonly allowAnthropicProviders;
    constructor(options: PiCliIntelligenceProviderOptions);
    evaluate(prompt: string, options?: IntelligenceOptions): Promise<string>;
}
//# sourceMappingURL=PiCliIntelligenceProvider.d.ts.map