export interface CredentialResult { value: string; source: "env" | "dotenv"; } export interface CredentialStatus { name: string; status: "ready" | "missing" | "untested"; source?: "env" | "dotenv"; } /** * Resolve a single credential by name through the chain: * 1. process.env[name] * 2. .env.local in skillDir (parsed via dotenv-style parsing, not config()) * * Returns null if not found in any source. */ export declare function resolveCredential(name: string, skillDir: string): CredentialResult | null; /** * Resolve multiple credentials and return their statuses. */ export declare function resolveAllCredentials(names: string[], skillDir: string): CredentialStatus[]; /** * Write a credential to .env.local, creating the file if needed. * Also ensures .env.local is in .gitignore. */ export declare function writeCredential(skillDir: string, key: string, value: string): void; /** * Ensure .env.local is listed in .gitignore. */ export declare function ensureGitignore(skillDir: string): void; export declare function parseDotenv(content: string): Record;