export declare const HERMES_CUSTOMER_TOKEN_CONTRACT_HEADER = "x-sellable-hermes-contract-version"; export declare const HERMES_CUSTOMER_TOKEN_CONTRACT_VERSION = "hermes-customer-token-v1"; export type HermesCustomerTokenMode = "mint" | "status" | "revoke"; export type HermesCustomerTokenPurpose = "preflight_smoke" | "customer_onboarding" | "no_contact_rehearsal"; export interface HermesCustomerTokenInput { mode: HermesCustomerTokenMode; purpose: HermesCustomerTokenPurpose; customerSlug: string; workspaceId: string; requestId: string; requestHash: string; tokenId?: string; approved?: boolean; approvalPacketFile?: string; } interface CustomerTokenConfig { token: string; apiUrl: string; } interface CustomerTokenOptions { /** Test-only dependency injection. This is never exposed in the MCP schema. */ secretsRoot?: string; /** Test-only admin home override. Approval files still use /approvals. */ adminHome?: string; fetchImpl?: typeof fetch; config?: CustomerTokenConfig; } type HermesCustomerTokenErrorCode = "invalid_input" | "invalid_customer_slug" | "invalid_workspace_id" | "invalid_request_id" | "invalid_request_hash" | "invalid_token_id" | "token_parent_insecure" | "token_destination_symlink" | "token_destination_exists" | "token_destination_insecure" | "token_api_unauthorized" | "token_api_forbidden" | "token_api_not_found" | "token_api_conflict" | "token_api_server_error" | "token_api_request_failed" | "token_api_contract_invalid" | "token_response_identity_mismatch" | "token_response_invalid" | "token_fingerprint_mismatch" | "token_plaintext_unrecoverable" | "token_plaintext_unrecoverable_revoke_failed" | "token_mint_ambiguous_status_failed" | "token_mint_ambiguous_no_server_record" | "token_mint_ambiguous_revoke_failed" | "token_mint_ambiguous_reconciled" | "token_write_failed_compensated" | "token_write_failed_compensation_failed" | "token_revoke_not_confirmed" | "token_revoked_local_cleanup_failed"; export declare class HermesCustomerTokenError extends Error { readonly code: HermesCustomerTokenErrorCode; constructor(code: HermesCustomerTokenErrorCode); toJSON(): { name: string; code: HermesCustomerTokenErrorCode; message: string; }; } export declare const hermesCustomerTokenToolDefinitions: { name: string; description: string; inputSchema: { type: "object"; additionalProperties: boolean; properties: { mode: { type: string; enum: string[]; description: string; }; purpose: { type: string; enum: string[]; description: string; }; customerSlug: { type: string; description: string; }; workspaceId: { type: string; description: string; }; requestId: { type: string; description: string; }; requestHash: { type: string; description: string; }; tokenId: { type: string; description: string; }; approved: { type: string; description: string; }; approvalPacketFile: { type: string; description: string; }; }; required: string[]; }; }[]; export declare function adminHermesCustomerToken(rawInput: HermesCustomerTokenInput, testOptions?: CustomerTokenOptions): Promise>; export {};