export declare const isWhitespace: (char: string) => char is " " | "\n" | "\t" | "\r" | "\f"; export declare function parseValueSyntax(source: string): ValueSyntaxAstNode; type Range = [min: number, max: number]; interface Multipliers { range?: Range; list?: boolean; } interface DataTypeNode { type: 'data-type'; name: string; range?: Range; multipliers?: Multipliers; } interface PropertyNode { type: 'property'; name: string; range?: Range; multipliers?: Multipliers; } interface LiteralNode { type: 'literal'; name: string; enclosed: boolean; multipliers?: Multipliers; } interface KeywordNode { type: 'keyword'; name: string; multipliers?: Multipliers; } interface CombinatorGroup { nodes: ValueSyntaxAstNode[]; } interface JuxtaposingNode extends CombinatorGroup { type: 'juxtaposing'; } interface DoubleAmpersandNode extends CombinatorGroup { type: '&&'; } interface DoubleBarNode extends CombinatorGroup { type: '||'; } interface BarNode extends CombinatorGroup { type: '|'; } interface GroupNode extends CombinatorGroup { type: 'group'; multipliers?: Multipliers; } type Combinators = GroupNode | JuxtaposingNode | DoubleAmpersandNode | DoubleBarNode | BarNode; type Components = DataTypeNode | PropertyNode; export type ValueSyntaxAstNode = Components | KeywordNode | LiteralNode | Combinators; export declare function literal(name: string, enclosed?: boolean, multipliers?: Multipliers): LiteralNode; export declare function keyword(name: string, multipliers?: Multipliers): KeywordNode; export declare function property(name: string, range?: Range, multipliers?: Multipliers): PropertyNode; export declare function dataType(name: string, range?: Range, multipliers?: Multipliers): DataTypeNode; export declare function group(nodes: ValueSyntaxAstNode[], multipliers?: Multipliers): GroupNode; export declare function juxtaposing(nodes: ValueSyntaxAstNode[]): JuxtaposingNode; export declare function bar(nodes: ValueSyntaxAstNode[]): BarNode; export declare function doubleAmpersand(nodes: ValueSyntaxAstNode[]): DoubleAmpersandNode; export declare function doubleBar(nodes: ValueSyntaxAstNode[]): DoubleBarNode; export declare function stringify(node: ValueSyntaxAstNode): string; export {}; //# sourceMappingURL=value-syntax-parser.d.ts.map