import { type LocaleCode } from 'ysk-server-shared'; /** Flags whose next token is a value (never a command/sub). */ export declare const CLI_VALUE_FLAGS: Set; /** Slice a list when `--limit` / `--offset` are present. Omitted limit = full list. */ export declare function applyLimit(items: T[], args: string[]): { items: T[]; meta: { total: number; shown: number; offset: number; limit: number | null; }; }; declare const BOOL_GLOBALS: Set; export type ParsedCliArgv = { /** argv without the node/script prefix */ raw: string[]; command: string | undefined; /** Non-flag tokens including command */ tokens: string[]; dataDir?: string; config?: string; localeFlag?: string; json: boolean; help: boolean; execute: boolean; version: boolean; }; export declare function flagTakesValue(name: string): boolean; /** Read `--name VALUE` or `--name=VALUE`. */ export declare function getOpt(args: string[], name: string): string | undefined; export declare function hasFlag(args: string[], name: string): boolean; export declare function wantsHostExecute(args: string[]): boolean; /** * Positionals after skipping flags and their values. * `--json projects list` → ['projects', 'list'] * `backup --data-dir /var/lib/ysk-server` → ['backup'] */ export declare function cliPositionals(args: string[]): string[]; export declare function parseCliArgv(args: string[]): ParsedCliArgv; /** CLI language: --locale → YSK_LOCALE → en (never LANG). */ export declare function cliLocale(flag?: string | null, env?: NodeJS.ProcessEnv): LocaleCode; export declare const PRODUCT_DATA_DIR = "/var/lib/ysk-server"; /** * Resolve control-plane data dir: * flag → YSK_DATA_DIR → /var/lib/ysk-server when root + ysk.json → undefined (cwd/.ysk). */ export declare function resolveCliDataDir(opts: { flag?: string; env?: NodeJS.ProcessEnv; uid?: number; productDir?: string; existsSync?: (p: string) => boolean; }): string | undefined; export { BOOL_GLOBALS }; //# sourceMappingURL=cli-argv.d.ts.map