/**
 * OneShotCompletion implementation for the pi-cli adapter.
 *
 * Spawns the CANONICAL one-shot argv (buildPiOneShotArgv):
 *   pi -p --mode json --no-session --offline [--model <pattern>] <prompt>
 * and parses pi's typed JSONL event stream from stdout, extracting the
 * completion text + usage from the assistant's `message_end` event.
 *
 * The argv and the event-stream shape (`message_end` with
 * `message.role==='assistant'`, `message.content[]` text entries,
 * `message.usage`) were verified HANDS-ON in the P0.1 eval (pi 0.78.1,
 * docs/specs/_drafts/pi-eval-report.md) — ground truth, not inferred.
 *
 * SAFETY (pinned at the call site):
 *   - `--no-session` / `--offline` are part of the canonical argv; this
 *     primitive never writes a session file or fetches binaries.
 *   - The env unconditionally hard-deletes every billing-capable provider var
 *     (buildPiChildEnv) — the no-API-keys rule.
 *   - Output is byte-capped (spawnPiAndWait).
 *
 * Model/tier resolution is PASS-THROUGH for pi: a pi `provider/id` pattern
 * comes from `config.model` (or the per-call `options.model`). The abstract
 * ModelTier vocabulary (`fast`/`balanced`/`capable`) does NOT map to fixed pi
 * model names — tier vocabulary lives INSIDE the configured provider for pi.
 * So a ModelTier resolves to `config.model ?? undefined`, and when undefined
 * pi's own default model applies. (The §4.3 subscription guard — policy.ts —
 * is the gate that refuses Anthropic-routed patterns; it is not invoked from
 * this file.)
 */
import type { OneShotCompletion } from '../../../primitives/transport/oneShotCompletion.js';
import type { PiCliConfig } from '../config.js';
export declare function createOneShotCompletion(config: PiCliConfig): OneShotCompletion;
//# sourceMappingURL=oneShotCompletion.d.ts.map