import type { Lang } from '../../types/shared.js'; import { type CliMessageKey } from './i18n-dict.js'; export type CliLang = Lang; /** * main() 在子命令 parseArgs 之前就需要拿到 lang(用于打印 unknown 提示)。 * 早期 scan argv,支持 `--lang en` 和 `--lang=en` 两种形式。 */ export declare function parseLangFromArgv(argv: readonly string[]): string | undefined; /** * 优先级: --lang flag > OMK_LANG env > 默认 zh。 * 不识别的值静默退回默认,避免在解析阶段抛错让用户卡住。 */ export declare function getCliLang(flagValue?: string): CliLang; /** * 缺 key 时返回 key 本身,便于在 dev / CI 中肉眼/脚本发现遗漏。 * params 用 {name} 占位符做 string 替换。 */ export declare function tCli(key: CliMessageKey, lang?: CliLang, params?: Record): string; /** * 一次拿到 i18n key 的 zh / en 两个串。oclif Command 的 static * description / examples 是模块加载期 evaluate 的字面量,跑不到 tCli 的 runtime * lang dispatch。tBoth 返回 {zh, en} 结构,配合 oclif/i18n.ts 的 bilingual() * 拼成带 sentinel 的串,LangAwareHelp 渲染时按 lang 切。 */ export declare function tBoth(key: CliMessageKey, params?: Record): { zh: string; en: string; };