import type { EvidenceSchema } from "../domain/role-policy.js"; export type ClaudeStructuredRoleId = "oms.grader.claude" | "oms.bounded-dreamer"; export type ClaudeStructuredEvidenceSchema = Extract; export interface ClaudeStructuredRequest { readonly schema_version: 1; readonly request_id: string; readonly role_id: ClaudeStructuredRoleId; readonly evidence_schema: ClaudeStructuredEvidenceSchema; readonly model_id: string; readonly policy_digest: string; readonly claude_session_id: string; readonly claude_version: string; readonly created_at: string; readonly input: Readonly>; } export interface ClaudeStructuredResult { readonly schema_version: 1; readonly request_id: string; readonly role_id: ClaudeStructuredRoleId; readonly evidence_schema: ClaudeStructuredEvidenceSchema; readonly claude_session_id: string; readonly submitted_at: string; readonly result: Readonly>; } export interface ClaudeStructuredRoleStore { writeRequest(request: ClaudeStructuredRequest): Readonly<{ status: "created" | "replayed"; request: ClaudeStructuredRequest; }>; readRequest(requestId: string): ClaudeStructuredRequest; readRequestIfExists(requestId: string): ClaudeStructuredRequest | undefined; submitResult(requestId: string, result: Record, submittedAt: string): Readonly<{ status: "created" | "replayed"; record: ClaudeStructuredResult; }>; readResultIfExists(requestId: string): ClaudeStructuredResult | undefined; outputSchema(requestId: string): Readonly>; } export declare function createClaudeStructuredRoleStore(options: { readonly packageRoot: string; readonly stateRoot: string; }): ClaudeStructuredRoleStore; export declare function sameStructuredRequestIntent(request: ClaudeStructuredRequest, expected: Readonly<{ requestId: string; roleId: ClaudeStructuredRoleId; evidenceSchema: ClaudeStructuredEvidenceSchema; input: Readonly>; }>): boolean;