import type { ParserServices, TSESTreeOptions } from './parser-options'; import type { TSESTree } from './ts-estree'; declare function clearProgramCache(): void; interface EmptyObject { } type AST = TSESTree.Program & (T['tokens'] extends true ? { tokens: TSESTree.Token[]; } : EmptyObject) & (T['comment'] extends true ? { comments: TSESTree.Comment[]; } : EmptyObject); interface ParseAndGenerateServicesResult { ast: AST; services: ParserServices; } interface ParseWithNodeMapsResult { ast: AST; esTreeNodeToTSNodeMap: ParserServices['esTreeNodeToTSNodeMap']; tsNodeToESTreeNodeMap: ParserServices['tsNodeToESTreeNodeMap']; } declare function parse(code: string, options?: T): AST; declare function parseWithNodeMaps(code: string, options?: T): ParseWithNodeMapsResult; declare function clearParseAndGenerateServicesCalls(): void; declare function parseAndGenerateServices(code: string, options: T): ParseAndGenerateServicesResult; export { AST, parse, parseAndGenerateServices, parseWithNodeMaps, ParseAndGenerateServicesResult, ParseWithNodeMapsResult, clearProgramCache, clearParseAndGenerateServicesCalls, }; //# sourceMappingURL=parser.d.ts.map