/** * Versioned routing RPC service. * * Operations are read-only projections or explicit-gated mutations. Promotion * requires an authorized RPC. All payloads are bounded and free of credentials. */ export declare const ROUTING_RPC_VERSION: 1; export declare const ROUTING_RPC_OPERATIONS: readonly ["routing.status", "routing.decide", "routing.explain", "routing.replay", "routing.compare", "routing.candidates", "routing.features", "routing.shadowStatus", "routing.shadowCompare", "routing.policyList", "routing.policyInspect", "routing.policyValidate", "routing.policyCompare", "routing.policyPromote", "routing.policyRollback", "routing.driftStatus", "routing.driftInspect"]; export type RoutingRpcOperation = (typeof ROUTING_RPC_OPERATIONS)[number]; export interface RoutingRpcRequest { version: typeof ROUTING_RPC_VERSION; requestId: string; operation: RoutingRpcOperation; parameters?: Record>; } export type RoutingRpcErrorKind = "invalid_operation" | "not_found" | "invalid_request" | "unauthorized"; export interface RoutingRpcError { error: RoutingRpcErrorKind; message: string; } export declare class RoutingRpcService { private evidenceCache; private evidence; handle(request: RoutingRpcRequest): RoutingRpcResponse | RoutingRpcError; } export type RoutingRpcResponse = { operation: RoutingRpcOperation; data: unknown; }; //# sourceMappingURL=rpc.d.ts.map