import type { HostContext } from './types.js'; /** DSH 主目录:非空白的 `$DSH_HOME`,否则回退官方默认 `~/.dsh`。 */ export declare function dshHome(): string; /** 环境变量是否有该凭据(同名即可,与 zhipu 侧约定一致)。 */ export declare function credentialInEnvironment(ref: string): boolean; /** * 凭据文件 `refs:` 段里的取值(支持 YAML 常见标量写法:双引号 JSON 转义、 * 单引号原样、裸值去行尾注释)。段结束于下一个顶层键。 */ export declare function credentialInFile(ref: string, home?: string): string | undefined; /** 本地已知凭据是否存在(环境变量或凭据文件;不发网络请求)。 */ export declare function credentialAvailable(ref: string): boolean; /** * 解析 API key:① credentials 服务 → ② 环境变量 → ③ 凭据文件。 * 三层都拿不到时返回 undefined(由调用方决定错误文案与错误码,避免本模块 * 依赖上层错误类型)。 */ export declare function resolveApiKey(ctx: HostContext | undefined, ref: string, signal?: AbortSignal): Promise; /** 凭据来源(与 resolveApiKey 的层序一致:环境变量优先于凭据文件)。 * 注意 credentials **服务**层无法同步探测,这里只反映本地两层。 */ export type CredentialSource = 'environment' | 'file'; export declare function credentialSource(ref: string): CredentialSource | undefined; /** * 写入/更新凭据文件 refs 段的某个键,**保留文件其余内容**(其它凭据、注释、 * 顶层键、行尾风格)。值用 `JSON.stringify` 序列化:YAML 双引号标量接受与 JSON * 相同的转义,因此换行/引号/反斜杠都不会破坏文件结构。 * * 文件不存在时创建(含 `refs:` 段);无 `refs:` 段时在末尾追加一个。 */ export declare function writeCredential(ref: string, value: string): { ok: true; } | { ok: false; error: string; }; /** 从凭据文件 refs 段移除某个键(不存在、文件缺失均视为成功,不创建文件)。 */ export declare function removeCredential(ref: string): { ok: true; removed: boolean; } | { ok: false; error: string; }; //# sourceMappingURL=credentials.d.ts.map