import { ConsumeUntil } from "./ConsumeUntil"; import { BooleanPath } from "./parsers/BooleanPath"; import { FloatPath } from "./parsers/FloatPath"; import { IntPath } from "./parsers/IntParser"; import { SplitStringPath } from "./parsers/SplitStringPath"; import { PathMatcher, PathResult } from "./PathMatcher"; export declare const v: { segment: ConsumeUntil; upToChars: (count: number) => ConsumeUntil; exactlyChars: (count: number) => ConsumeUntil; upToSegments: (count: number) => SplitStringPath; exactlySegments: (count: number) => SplitStringPath; restOfPath: SplitStringPath; restOfPathSegments: SplitStringPath; boolean: BooleanPath; float: FloatPath; int: IntPath; binary: IntPath; hex: IntPath; }; export type VariablePaths = { readonly [K in keyof T]: PathMatcher; }; export type Variable = { key: K; }; export type Variables = { readonly [K in keyof T]: Variable; }; export declare class VariablePath implements PathMatcher<{ K: T[K]; }> { private readonly key; private readonly value; constructor(key: K, value: PathMatcher); consume(path: string): PathResult<{ K: T[K]; }>; expand(value: { K: T[K]; }): string; } export type SegmentsFn = (vars: Variables) => (Variable | string)[]; export declare function variablesPath(variablePaths: VariablePaths, segmentFn: SegmentsFn): PathMatcher; //# sourceMappingURL=variables.d.ts.map