/** Recorded by `defineFlag`; type-erased, the same way step/phase defs are. */ export interface FlagDef { name: string; long: string; short?: string; description?: string; boolean: boolean; hasDefault: boolean; default: unknown; } /** `"dryRun"` -> `"dry-run"`. Already-kebab input passes through unchanged. */ export declare function kebabCase(name: string): string; /** * Parses `argv` (already stripped of the node binary and script path — i.e. * `process.argv.slice(2)`) against the flags a script declared. * * `--flag value`, `--flag=value`, and `-f value` are all understood. A * boolean flag never consumes the next token: its bare presence is `true` * (`--flag=false` is honoured too, for the rare case of overriding a * `default: true`). * * Every other token — anything not starting with `-`, or a bare `-` — is a * positional argument and is silently ignored; this parser only cares about * the flags it was told to look for. * * @throws {UnknownFlagError} for a `--foo`/`-f` this script never declared. * @throws {MissingFlagValueError} for a non-boolean flag with nothing after it. */ export declare function parseFlags(argv: readonly string[], defs: readonly FlagDef[]): Record; //# sourceMappingURL=flags.d.ts.map