import { File as BabelNodes } from '@babel/types'; import * as babelParser from '@babel/parser'; import { ParseableFile } from './parsable_file'; import { PackageJSON } from './package_json'; export declare class BabelFile extends ParseableFile { props: ConstructorParameters[0] & { plugins?: babelParser.ParserPlugin[]; pkg?: PackageJSON; }; constructor(props?: ConstructorParameters[0] & { plugins?: babelParser.ParserPlugin[]; pkg?: PackageJSON; }); get pkg(): PackageJSON; /** @see https://stackoverflow.com/a/54003496/340688 */ static getBuiltins(): any; static builtins: any; static isNativeImport(pkg: string): any; static isLocalImport(pkg: string): boolean; static isNodePackageImport(pkg: string): boolean; get packageImports(): Promise; get localImports(): Promise; get nativeImports(): Promise; get packageRecursiveImports(): Promise; get localRecursiveImports(): Promise; get nativeRecursiveImports(): Promise; get plugins(): babelParser.ParserPlugin[]; private cacheParsedContent?; parse(content: string): BabelNodes; private cacheImports?; get imports(): Promise; static uniqueString(a: string[]): string[]; private cacheSiblingFiles; private cacheRecursiveImports; private fileCacheCheck; private fileCacheAdd; private recursiveImportAdd; get recursiveDependencies(): Promise<[string[], { [key: string]: BabelFile; }]>; get recursiveImports(): Promise; get recursiveSiblings(): Promise; /** Given a package json file, will pluck all npm dependencies */ get dependencies(): Promise<{ [k: string]: string; }>; }