/// import * as t from '@babel/types'; import * as defaultBabelParser from '@babel/parser'; import { ParserOptions, ParserPlugin } from '@babel/parser'; declare type BabelParser = Pick; export declare class Parser { readonly babelParser: BabelParser; readonly parserOpts: ParserOptions; _forJs: Parser | undefined; _forJsx: Parser | undefined; _forTs: Parser | undefined; _forTsx: Parser | undefined; _forDts: Parser | undefined; constructor(babelParser: BabelParser, parserOpts: ParserOptions); parse(code: string, parserOpts?: ParserOptions): t.File; parseExpression(code: string, parserOpts?: ParserOptions): t.Expression; bindParserOpts(parserOpts: ParserOptions): Parser; mergePlugins(...plugins: ParserPlugin[]): Parser; removePlugins(...plugins: string[]): Parser; get forJs(): Parser; get forJsx(): Parser; get forTs(): Parser; get forTsx(): Parser; get forDts(): Parser; forExtension(e: string): Parser; } export declare const jsParser: Parser; export declare const jsxParser: Parser; export declare const tsParser: Parser; export declare const tsxParser: Parser; export declare const dtsParser: Parser; export declare function clearCache(): void; export declare function getParserSync(file: string, options?: ParserOptions): Parser; export declare function getParserAsync(file: string, options?: ParserOptions): Promise; export declare function parseSync(file: string, { encoding, ...options }?: { encoding?: BufferEncoding; } & ParserOptions): t.File; export declare function parseAsync(file: string, { encoding, ...options }?: { encoding?: BufferEncoding; } & ParserOptions): Promise; export {};