import { NeRoArray, ParamValue, ScopeSyntax } from './syntax.js'; type InferParamPredicate boolean> = T extends ((value: ParamValue) => value is infer U extends ParamValue) ? U : ParamValue; type ParamsSchema = Record ParamValue; validate: (value: ParamValue) => boolean; } | { multiple: true; required: boolean; default?: NeRoArray; normalize?: (value: NeRoArray) => NeRoArray; validate: (value: ParamValue) => boolean; }>; type InferParams = { [K in keyof S]: (S[K]['required'] extends true ? never : 'default' extends keyof S[K] ? S[K]['default'] : undefined) | (S[K]['multiple'] extends true ? NeRoArray> : InferParamPredicate); } & NonNullable; export declare class Parser

{ readonly prefix: P; readonly schema: S; readonly positionalName?: (keyof S & string) | undefined; readonly schemaKeys: ReadonlySet; constructor(prefix: P, schema: S, positionalName?: (keyof S & string) | undefined); format(values: InferParams): import("./syntax.js").ScopeStringFor

; parse(syntax: ScopeSyntax

): { [K in keyof S]: (S[K]["required"] extends true ? never : "default" extends keyof S[K] ? S[K][keyof S[K] & "default"] : undefined) | (S[K]["multiple"] extends true ? NeRoArray> : InferParamPredicate); } | null; } export {}; //# sourceMappingURL=parser.d.ts.map