import type { BillingClass, CodexReasoningEffort, Engine, RoleId, RolePolicyConfig, RolePolicyRow } from "../domain/role-policy.js"; import type { ProcessRunner } from "./process.js"; export declare const SUPPORTED_CLAUDE_CODE_VERSIONS: readonly ["2.1.207", "2.1.210", "2.1.211", "2.1.214", "2.1.215"]; export declare const SUPPORTED_CODEX_CLI_VERSIONS: readonly ["0.145.0-alpha.2"]; export interface AuthEvidence { schema_version: 1; engine: Engine; auth_mode: "chatgpt_subscription" | "claude_subscription" | "api_key"; billing_class: BillingClass; observed_at: string; probe: "codex-login-status" | "claude-auth-status"; } export interface ClaudeCodeCompatibilityEvidence { readonly command: "claude"; readonly version: (typeof SUPPORTED_CLAUDE_CODE_VERSIONS)[number]; } export interface CodexCliCompatibilityEvidence { readonly command: "codex"; readonly version: (typeof SUPPORTED_CODEX_CLI_VERSIONS)[number]; } export interface ResolvedRole { role: RolePolicyRow; modelId: string; modelReasoningEffort?: CodexReasoningEffort; } export declare function resolveConfiguredRole(config: RolePolicyConfig, roleId: RoleId): ResolvedRole; export declare function codexReasoningConfigArgs(effort: CodexReasoningEffort | undefined): string[]; export declare function subscriptionEnvironment(engine: Engine, input: NodeJS.ProcessEnv): NodeJS.ProcessEnv; export declare function probeCodexSubscriptionAuth(options: { cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): AuthEvidence; export declare function probeClaudeSubscriptionAuth(options: { cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): AuthEvidence; export declare function probeClaudeCodeCompatibility(options: { cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): ClaudeCodeCompatibilityEvidence; export declare function probeCodexCliCompatibility(options: { cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): CodexCliCompatibilityEvidence; export interface WorktreeEvidence { root: string; git_dir: string; common_git_dir: string; } export declare function verifyLinkedWorktree(options: { cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): WorktreeEvidence; export declare function assertShippedSubscriptionRole(role: RolePolicyRow): void; export declare function configuredProviderEnvironment(config: RolePolicyConfig, role: RolePolicyRow, input: NodeJS.ProcessEnv, confirmBilledUse?: boolean): NodeJS.ProcessEnv; export declare function probeConfiguredAuth(options: { role: RolePolicyRow; cwd: string; env: NodeJS.ProcessEnv; runner: ProcessRunner; }): AuthEvidence; export declare function assertConfiguredProviderRole(config: RolePolicyConfig, role: RolePolicyRow, confirmBilledUse?: boolean): void;