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<string, string>;
