/** * @typedef {import("../ArgReader.js").ArgReader} ArgReader * @typedef {import("./Opt.js").OptConfig} OptConfig */ /** * @template T * @typedef {import("./Opt.js").Opt} Opt */ /** * @template {Array} V * @typedef {OptConfig & { * variants: V * default: string | (() => string) * }} EnumOptConfig */ /** * @template {Array} V * @implements {Opt} */ export class EnumOpt> implements Opt { /** * @param {EnumOptConfig} param0 */ constructor({ long, short, description, variants, default: def }: EnumOptConfig); long: string; short: string | undefined; description: string | undefined; variants: V; default: string | (() => string); /** * @returns {string} */ makeHelp(): string; /** * @param {ArgReader} r * @returns {V[number]} */ read(r: ArgReader): V[number]; } export type ArgReader = import("../ArgReader.js").ArgReader; export type OptConfig = import("./Opt.js").OptConfig; export type Opt = import("./Opt.js").Opt; export type EnumOptConfig> = OptConfig & { variants: V; default: string | (() => string); }; //# sourceMappingURL=EnumOpt.d.ts.map