--- /dev/null
+import * as ts from 'typescript';
+import { TSError } from './node-utils';
+import { ParserWeakMap, ParserWeakMapESTreeToTSNode } from './parser-options';
+import { TSESTree, TSNode } from './ts-estree';
+interface ConverterOptions {
+ errorOnUnknownASTType: boolean;
+ useJSXTextNode: boolean;
+ shouldPreserveNodeMaps: boolean;
+}
+/**
+ * Extends and formats a given error object
+ * @param error the error object
+ * @returns converted error object
+ */
+export declare function convertError(error: any): TSError;
+export interface ASTMaps {
+ esTreeNodeToTSNodeMap: ParserWeakMapESTreeToTSNode;
+ tsNodeToESTreeNodeMap: ParserWeakMap<TSNode, TSESTree.Node>;
+}
+export declare class Converter {
+ private readonly ast;
+ private readonly options;
+ private readonly esTreeNodeToTSNodeMap;
+ private readonly tsNodeToESTreeNodeMap;
+ private allowPattern;
+ private inTypeMode;
+ /**
+ * Converts a TypeScript node into an ESTree node
+ * @param ast the full TypeScript AST
+ * @param options additional options for the conversion
+ * @returns the converted ESTreeNode
+ */
+ constructor(ast: ts.SourceFile, options: ConverterOptions);
+ getASTMaps(): ASTMaps;
+ convertProgram(): TSESTree.Program;
+ /**
+ * Converts a TypeScript node into an ESTree node.
+ * @param node the child ts.Node
+ * @param parent parentNode
+ * @param inTypeMode flag to determine if we are in typeMode
+ * @param allowPattern flag to determine if patterns are allowed
+ * @returns the converted ESTree node
+ */
+ private converter;
+ /**
+ * Fixes the exports of the given ts.Node
+ * @param node the ts.Node
+ * @param result result
+ * @returns the ESTreeNode with fixed exports
+ */
+ private fixExports;
+ /**
+ * Register specific TypeScript node into map with first ESTree node provided
+ */
+ private registerTSNodeInNodeMap;
+ /**
+ * Converts a TypeScript node into an ESTree node.
+ * @param child the child ts.Node
+ * @param parent parentNode
+ * @returns the converted ESTree node
+ */
+ private convertPattern;
+ /**
+ * Converts a TypeScript node into an ESTree node.
+ * @param child the child ts.Node
+ * @param parent parentNode
+ * @returns the converted ESTree node
+ */
+ private convertChild;
+ /**
+ * Converts a TypeScript node into an ESTree node.
+ * @param child the child ts.Node
+ * @param parent parentNode
+ * @returns the converted ESTree node
+ */
+ private convertType;
+ private createNode;
+ private convertBindingNameWithTypeAnnotation;
+ /**
+ * Converts a child into a type annotation. This creates an intermediary
+ * TypeAnnotation node to match what Flow does.
+ * @param child The TypeScript AST node to convert.
+ * @param parent parentNode
+ * @returns The type annotation node.
+ */
+ private convertTypeAnnotation;
+ /**
+ * Coverts body Nodes and add a directive field to StringLiterals
+ * @param nodes of ts.Node
+ * @param parent parentNode
+ * @returns Array of body statements
+ */
+ private convertBodyExpressions;
+ /**
+ * Converts a ts.Node's typeArguments to TSTypeParameterInstantiation node
+ * @param typeArguments ts.NodeArray typeArguments
+ * @param node parent used to create this node
+ * @returns TypeParameterInstantiation node
+ */
+ private convertTypeArgumentsToTypeParameters;
+ /**
+ * Converts a ts.Node's typeParameters to TSTypeParameterDeclaration node
+ * @param typeParameters ts.Node typeParameters
+ * @returns TypeParameterDeclaration node
+ */
+ private convertTSTypeParametersToTypeParametersDeclaration;
+ /**
+ * Converts an array of ts.Node parameters into an array of ESTreeNode params
+ * @param parameters An array of ts.Node params to be converted
+ * @returns an array of converted ESTreeNode params
+ */
+ private convertParameters;
+ /**
+ * For nodes that are copied directly from the TypeScript AST into
+ * ESTree mostly as-is. The only difference is the addition of a type
+ * property instead of a kind property. Recursively copies all children.
+ */
+ private deeplyCopy;
+ /**
+ * Converts a TypeScript JSX node.tagName into an ESTree node.name
+ * @param node the tagName object from a JSX ts.Node
+ * @param parent
+ * @returns the converted ESTree name object
+ */
+ private convertJSXTagName;
+ /**
+ * Applies the given TS modifiers to the given result object.
+ * @param result
+ * @param modifiers original ts.Nodes from the node.modifiers array
+ * @returns the current result object will be mutated
+ * @deprecated This method adds not standardized `modifiers` property in nodes
+ */
+ private applyModifiersToResult;
+ /**
+ * Uses the provided range location to adjust the location data of the given Node
+ * @param result The node that will have its location data mutated
+ * @param childRange The child node range used to expand location
+ */
+ private fixParentLocation;
+ /**
+ * Converts a TypeScript node into an ESTree node.
+ * The core of the conversion logic:
+ * Identify and convert each relevant TypeScript SyntaxKind
+ * @param node the child ts.Node
+ * @param parent parentNode
+ * @returns the converted ESTree node
+ */
+ private convertNode;
+}
+export {};
+//# sourceMappingURL=convert.d.ts.map
\ No newline at end of file