import { TSESTree } from "@typescript-eslint/utils"; export declare class ParseError extends Error { } type ParseCommentsResult = { parts: ParsedPart[]; rest: TSESTree.Comment[]; }; type ParsedPart = { leadingComments: TSESTree.Comment[]; commentedOut: TSESTree.Comment[]; node: T; }; export declare function parseComments(comments: TSESTree.Comment[], parse: (parser: Parser) => T): ParseCommentsResult; export declare function isProperty(text: string): boolean; export declare function isTSSignature(text: string): boolean; export declare class Parser { tokens: TSESTree.Token[]; pos: number; constructor(tokens: TSESTree.Token[]); parseIdentifierName(): TSESTree.Identifier; parsePrimaryExpression(): TSESTree.LeftHandSideExpression; parseProperty(): TSESTree.Property; parsePropertyName(): { key: TSESTree.Expression; computed: true; } | { key: TSESTree.PropertyNameNonComputed; computed: false; }; parseLiteralPropertyName(): TSESTree.PropertyNameNonComputed; parseMemberExpression(): TSESTree.Expression; parseArguments(): (TSESTree.Expression | TSESTree.SpreadElement)[]; parseLeftHandSideExpression(): TSESTree.Expression; parseUpdateExpression(): TSESTree.Expression; parseUnaryExpression(): TSESTree.Expression; parseExponentialExpression(): TSESTree.Expression; parseMultiplicativeExpression(): TSESTree.Expression; parseAdditiveExpression(): TSESTree.Expression; parseShiftExpression(): TSESTree.Expression; parseRelationalExpression(): TSESTree.Expression; parseEqualityExpression(): TSESTree.Expression; parseBitwiseANDExpression(): TSESTree.Expression; parseBitwiseXORExpression(): TSESTree.Expression; parseBitwiseORExpression(): TSESTree.Expression; parseLogicalANDExpression(): TSESTree.Expression; parseLogicalORExpression(): TSESTree.Expression; parseShortCircuitExpression(): TSESTree.Expression; parseConditionalExpression(): TSESTree.Expression; parseAssignmentExpression(): TSESTree.Expression; parseTSSignature(): TSESTree.TypeElement; parseTSTypeReference(): TSESTree.TSTypeReference; parseTSTypeParameterInstantiation(): TSESTree.TSTypeParameterInstantiation | undefined; parseTSNonArrayType(): TSESTree.TypeNode; parseTSTypeLiteral(): TSESTree.TSTypeLiteral; parseTSType(): TSESTree.TypeNode; nextToken(): TSESTree.Token | { type: "EOF"; }; isPunct(punct: string, token?: TSESTree.Token | { type: "EOF"; }): token is TSESTree.Token & { type: "Punctuator"; }; tryPunct(punct: string): boolean; expectPunct(punct: string): void; isSemi(): boolean; trySemi(): boolean; expectSemi(): void; } export declare function tokenizeComment(comment: TSESTree.Comment): TSESTree.Token[]; export declare function tokenize(text: string, pos?: TSESTree.Position, idxBase?: number): TSESTree.Token[]; export {}; //# sourceMappingURL=microparser.d.ts.map