import * as Ast from '@unified-latex/unified-latex-types'; export declare function createMatchers(): { isChar: (node: Ast.Node, char: string) => node is Ast.String; isComma: (node: Ast.Node) => node is Ast.String; isEquals: (node: Ast.Node) => node is Ast.String; isWhitespace: (node: Ast.Node) => node is Ast.Whitespace; isParbreak: (node: Ast.Node) => node is Ast.Parbreak; isSameLineComment: (node: Ast.Node) => boolean | undefined; isOwnLineComment: (node: Ast.Node) => boolean; }; export declare type Item = { itemParts?: Ast.Node[][]; trailingComment: Ast.Comment | null; trailingComma?: boolean; leadingParbreak?: boolean; }; /** * Parse the arguments of a Pgfkeys macro. The `ast` * is expected to be a comma separated list of `Item`s. * Each item can have 0 or more item parts, which are separated * by "=". If `itemPart` is undefined, * * If `options.allowParenGroups === true`, then commas that occur inside groups of parenthesis * will not be parsed as separators. This is useful for parsing tikz `\foreach` loops. */ export declare function parsePgfkeys(ast: Ast.Node[], options?: { allowParenGroups: boolean; }): Item[]; /** * Parse `arg` as pgfkeys and return a JavaScript object with the results. * The keys will be normalized to strings and the values will be arrays of nodes. */ export declare function pgfkeysArgToObject(arg: Ast.Argument | Ast.Node[]): Record; export { }