export declare const ROLE_IDS: readonly ["oms.conductor", "oms.exec-advisor", "oms.ticket-executor", "oms.goal-long-executor", "oms.grader.codex", "oms.grader.claude", "oms.bounded-dreamer"]; export declare const ENGINES: readonly ["claude", "codex"]; export declare const AUTH_MODES: readonly ["claude_subscription", "chatgpt_subscription", "api_key", "enterprise_access_token", "cloud_provider"]; export declare const BILLING_CLASSES: readonly ["subscription", "api", "enterprise", "credit_billed"]; export declare const TRANSPORTS: readonly ["claude_interactive", "codex_exec", "codex_goal"]; export declare const SESSION_POLICIES: readonly ["operator_originated_oms_managed_interactive", "fresh", "persistent"]; export declare const FRESHNESS_POLICIES: readonly ["fresh_required", "resumable", "persistent"]; export declare const SANDBOXES: readonly ["read-only", "ticket-worktree-write"]; export declare const CODEX_REASONING_EFFORTS: readonly ["low", "medium", "high", "xhigh"]; export declare const EVIDENCE_SCHEMAS: readonly ["conductor-decision.v1", "advisor-output.v1", "executor-result.v1", "goal-executor-result.v1", "grader-output.v1", "reflection.v1"]; export type RoleId = (typeof ROLE_IDS)[number]; export type Engine = (typeof ENGINES)[number]; export type AuthMode = (typeof AUTH_MODES)[number]; export type BillingClass = (typeof BILLING_CLASSES)[number]; export type Transport = (typeof TRANSPORTS)[number]; export type SessionPolicy = (typeof SESSION_POLICIES)[number]; export type FreshnessPolicy = (typeof FRESHNESS_POLICIES)[number]; export type Sandbox = (typeof SANDBOXES)[number]; export type CodexReasoningEffort = (typeof CODEX_REASONING_EFFORTS)[number]; export type EvidenceSchema = (typeof EVIDENCE_SCHEMAS)[number]; export interface ModelDefinition { engine: Engine; id: string; reasoning_effort?: CodexReasoningEffort; } export interface RolePolicyRow { role_id: RoleId; engine: Engine; model_id: string; billing_class: BillingClass; allow_api_billing: boolean; allow_overage_credits: boolean; auth_mode: AuthMode; unattended_eligible: boolean; sandbox: Sandbox; transport: Transport; session_policy: SessionPolicy; freshness_policy: FreshnessPolicy; evidence_schema: EvidenceSchema; } export interface RolePolicyConfig { version: 2; credit_billed_allowed: boolean; models: Record; roles: Record; } export interface RolePolicyConfigReadResult { config: RolePolicyConfig; inertRoleIds: string[]; inertModelIds: string[]; } export interface TrackedRolePolicyGate { readonly version: 2; readonly digest: string; } export interface LegacyOmsConfigV1 { version: 1; unattended: { enabled: boolean; codex_auth: string; claude_auth: string; }; } export declare const DEFAULT_ROLE_POLICY_CONFIG: RolePolicyConfig; export declare function cloneRolePolicyConfig(config: RolePolicyConfig): RolePolicyConfig; export declare function readRolePolicyConfig(value: unknown, path: string): RolePolicyConfig; export declare function readRolePolicyConfigWithExtensions(value: unknown, path: string): RolePolicyConfigReadResult; export declare function loadTrackedRolePolicyGate(configRoot?: string): TrackedRolePolicyGate; export declare function assertTrackedRolePolicyGate(value: unknown, configRoot?: string): asserts value is TrackedRolePolicyGate; export declare function digestRolePolicyConfig(policy: RolePolicyConfig): string; export declare function readLegacyOmsConfigV1(value: unknown, path: string): LegacyOmsConfigV1; export declare function migrateLegacyOmsConfig(_legacy: LegacyOmsConfigV1): RolePolicyConfig; export declare function validateRolePolicyConfig(config: RolePolicyConfig): string[]; export declare function getUnattendedRoles(config: RolePolicyConfig): RoleId[]; export declare function resolveRoleModel(config: RolePolicyConfig, roleId: RoleId): ModelDefinition; export declare function selectCrossEngineGrader(config: RolePolicyConfig, executorRoleId: RoleId): RoleId;