import { type KeyResolutionDeps } from "./key-resolution.js"; import type { CommsCheckResult } from "./comms-setup.js"; export declare const COMMS_CONNECTIONS_SCHEMA = "humanish.comms-connections.v1"; export declare const COMMS_CONFIG_PATH = ".humanish/local/comms.yaml"; export declare const COMMS_PROVIDERS: readonly [{ readonly id: "agentmail"; readonly label: "AgentMail"; readonly channel: "email"; readonly keyEnv: "AGENTMAIL_API_KEY"; readonly setupAvailable: true; readonly receivingAvailable: true; readonly description: "A hosted email service with real inbox addresses."; readonly setupUrl: "https://console.agentmail.to"; readonly limitation: "Fresh real inboxes for supported computer-use studies. Hosted processing; local evidence review only. Provider charges are separate."; }]; export interface CommsConnection { provider: "agentmail"; apiKeyEnv: string; } export interface CommsConnections { schema: typeof COMMS_CONNECTIONS_SCHEMA; connections: Record; } export interface CommsSetupStatus { authentication?: CommsCheckResult; schema: "humanish.comms-setup.v1"; ok: boolean; configPath: string; providers: typeof COMMS_PROVIDERS; connections: { name: string; provider: "agentmail"; apiKeyEnv: string; }[]; credential: { present: boolean; source: string | null; stored: boolean; strict: boolean; explicitlyEmpty: boolean; }; message: string; } export interface CommsSetupResult { ok: boolean; message: string; } /** Offline and non-mutating. Unsafe storage is an error, never an empty configuration. */ export declare function readCommsConnections(cwd: string): Promise; /** Add one exact profile. No lab mutation, network, provider resources or credential values. */ export declare function saveCommsConnection(cwd: string, name?: string, apiKeyEnv?: string): Promise; export declare function readCommsSetup(cwd: string, env: NodeJS.ProcessEnv, deps?: KeyResolutionDeps): Promise;