UNPKG

@jondotsoy/flags

Version:

A Javascript arguments processor

21 lines (20 loc) 936 B
import type { Accumulate } from "../dtos/Accumulate.js"; import type { Refine } from "../dtos/Refine.js"; import type { RedefineInitialValue, RedefineParseResult, Spec } from "./Spec.js"; type BuilderInstance<T extends Spec<any, any>> = { spec: T; }; export declare abstract class Builder<T extends Spec<any, any>> { readonly spec: T; constructor(spec: T); abstract initial<U>(initial: U): BuilderInstance<RedefineInitialValue<T, U>>; abstract accumulate(accumulate: Accumulate): BuilderInstance<T>; abstract refine<U>(refine: Refine): BuilderInstance<RedefineParseResult<T, U>>; abstract metadata(values: Record<string, any>): BuilderInstance<T>; abstract describe(description: string): BuilderInstance<T>; abstract required(): BuilderInstance<T>; parse(startIndex: number, args: string[], prevValue?: { current: any; }): import("../flags.js").ResultParser<any> | null; } export {};