import * as ts from "typescript"; export declare function collectLeftHandIdentifiers(node: ts.Expression): { identifiers: ts.Identifier[]; nonIdentifiers: ts.Expression[]; }; export declare function getComments(node: ts.Node): ts.CommentRange[]; export declare function getCommentsBefore(node: ts.Node): ts.CommentRange[]; export declare function getCommentsAfter(node: ts.Node): ts.CommentRange[]; export declare function getText(textRange: ts.TextRange, file: ts.SourceFile): string; export declare function toTokens(node: ts.Node): ts.Node[]; export declare function lineAndCharacterByPos(pos: number, file: ts.SourceFile): ts.LineAndCharacter; export declare function startLineAndCharacter(node: ts.Node): ts.LineAndCharacter; export declare function endLineAndCharacter(node: ts.Node): ts.LineAndCharacter; export declare function localAncestorsChain(node: ts.Node): ts.Node[]; export declare function ancestorsChain(node: ts.Node, ...boundary: ts.SyntaxKind[]): ts.Node[]; export declare function firstLocalAncestor(node: ts.Node, ...targetAncestor: ts.SyntaxKind[]): ts.Node | undefined; export declare function firstAncestor(node: ts.Node, targetAncestor: ts.SyntaxKind[], ...boundary: ts.SyntaxKind[]): ts.Node | undefined; export declare function floatToTopParenthesis(node: ts.Node): ts.Node; export declare function drillDownThroughParenthesis(node: ts.Expression): ts.Expression; /** Returns all descendants of the `node`, including tokens */ export declare function descendants(node: ts.Node): ts.Node[]; export declare function findChild(node: ts.Node, ...kind: ts.SyntaxKind[]): ts.Node; export declare function accessModifier(declaration: ts.MethodDeclaration | ts.ParameterDeclaration | ts.AccessorDeclaration): ts.Modifier | undefined; export declare function isReadonly(declaration: ts.MethodDeclaration | ts.ParameterDeclaration): ts.Modifier | undefined; export declare function constructorOf(clazz: ts.ClassDeclaration | ts.ClassExpression): ts.ConstructorDeclaration | undefined; /** * Returns * - function name token for methods and accessors * - "function" keyword for function declarations and expressions * - "=>" for arrow function */ export declare function functionLikeMainToken(functionNode: ts.FunctionLikeDeclaration): ts.Node; export declare function getFirstChild(node: ts.Node, childKind: ts.SyntaxKind): ts.Node | undefined; export declare const FUNCTION_LIKE: ts.SyntaxKind[]; export declare const CONDITIONAL_STATEMENTS: ts.SyntaxKind[]; export declare const LOOP_STATEMENTS: ts.SyntaxKind[]; export declare const COMPOUND_ASSIGNMENTS: ts.SyntaxKind[]; export declare const ACCESS_MODIFIERS: ts.SyntaxKind[];