/**
 * pi-cli AgenticSessionRpc — the "data cable" primitive
 * (PI-HARNESS-INTEGRATION-SPEC §4.1-4.2).
 *
 * pi's RPC mode is a NATIVE structured-control channel (stdio JSONL with
 * prompt / mid-stream steer / abort), so this is a direct mapping rather
 * than a facade: start() spawns `pi --mode rpc`, startTurn() sends `prompt`,
 * steerTurn() sends `steer`, interruptTurn() sends `abort`, close() ends
 * the process. pi events normalize to the canonical vocabulary:
 *
 *   message_update(text_delta)      → message-delta
 *   tool_execution_start            → tool-call
 *   tool_execution_end              → tool-result
 *   turn_end                        → turn-end (usage from message.usage)
 *   agent_start / agent_end / rest  → provider-raw (pi run boundaries)
 *
 * The subscription guard (policy.ts) runs at start(): an Anthropic-routed
 * model pattern throws PiAnthropicRouteError before any process spawns.
 *
 * Protocol facts verified hands-on in the P0.1 eval (pi 0.78.1):
 * docs/specs/_drafts/pi-eval-report.md.
 */
import type { CanonicalEvent } from '../../../events.js';
import { type SessionHandle } from '../../../types.js';
import type { AgenticSessionRpc } from '../../../primitives/transport/agenticSessionRpc.js';
import type { PiCliConfig } from '../config.js';
import { type PiRpcEvent } from './rpcClient.js';
/** Normalize one pi event line to a CanonicalEvent (always returns one). */
export declare function normalizePiEvent(event: PiRpcEvent, session: SessionHandle): CanonicalEvent;
/**
 * Build the AgenticSessionRpc primitive for the pi adapter.
 */
export declare function createPiAgenticSessionRpc(config: PiCliConfig): AgenticSessionRpc;
//# sourceMappingURL=agenticSessionRpc.d.ts.map