import type { Readable, Writable } from "node:stream"; import { type ClaudeStructuredResult } from "./claude-structured-store.js"; export declare const CLAUDE_STRUCTURED_ROLE_TOOLS: readonly ["read_request", "submit_schema_result"]; export declare const MAX_CLAUDE_STRUCTURED_ROLE_FRAME_BYTES: number; interface JsonRpcResponse { readonly jsonrpc: "2.0"; readonly id: string | number | null; readonly result?: unknown; readonly error?: { readonly code: number; readonly message: string; }; } export interface ClaudeStructuredRoleBridge { handleMessage(message: unknown): JsonRpcResponse | undefined; handleLine(line: string | Buffer): string | undefined; } export interface ClaudeStructuredRoleBridgeOptions { readonly packageRoot: string; readonly stateRoot: string; /** Caller-known workspace root — required for certifying completion receipts. */ readonly workspaceRoot: string; readonly requestId: string; readonly sessionId: string; readonly clock?: () => string; readonly onResultSubmitted?: (result: ClaudeStructuredResult) => void; readonly onResultProjectionFailure?: (requestId: string, error: unknown) => void; } export declare function createClaudeStructuredRoleBridge(options: ClaudeStructuredRoleBridgeOptions): ClaudeStructuredRoleBridge; export declare function runClaudeStructuredRoleBridge(options: ClaudeStructuredRoleBridgeOptions & { readonly input: Readable; readonly output: Writable; }): Promise; export {};