import ts from 'typescript'; export declare type StatementedNode = ts.Block | ts.SourceFile | ts.FunctionDeclaration | ts.ModuleDeclaration | ts.FunctionLikeDeclaration | ts.CaseClause | ts.DefaultClause; export declare function getStatements(node: StatementedNode): ReadonlyArray; export declare function getClasses(node: StatementedNode): ReadonlyArray; export declare function getClass(node: StatementedNode, name: string): ts.ClassDeclaration | undefined; export declare function getClassOrThrow(node: StatementedNode, name: string): ts.ClassDeclaration; export declare function getInterfaces(node: StatementedNode): ReadonlyArray; export declare function getInterface(node: StatementedNode, name: string): ts.InterfaceDeclaration | undefined; export declare function getInterfaceOrThrow(node: StatementedNode, name: string): ts.InterfaceDeclaration; export declare function getNamespaces(node: StatementedNode): ReadonlyArray; export declare function getNamespace(node: StatementedNode, name: string): ts.ModuleDeclaration | undefined; export declare function getNamespaceOrThrow(node: StatementedNode, name: string): ts.ModuleDeclaration; export declare function getVariableStatements(node: StatementedNode): ReadonlyArray; export declare function getVariableDeclarations(node: StatementedNode): ReadonlyArray; export declare function getVariableDeclaration(node: StatementedNode, name: string): ts.VariableDeclaration | undefined; export declare function getVariableDeclarationOrThrow(node: StatementedNode, name: string): ts.VariableDeclaration; export declare function getTypeAliases(node: StatementedNode): ReadonlyArray; export declare function getTypeAlias(node: StatementedNode, name: string): ts.TypeAliasDeclaration | undefined; export declare function getTypeAliasOrThrow(node: StatementedNode, name: string): ts.TypeAliasDeclaration; export declare function getFunctions(node: StatementedNode): ReadonlyArray; export declare function getFunction(node: StatementedNode, name: string): ts.FunctionDeclaration | undefined; export declare function getFunctionOrThrow(node: StatementedNode, name: string): ts.FunctionDeclaration; export declare function getEnums(node: StatementedNode): ReadonlyArray; export declare function getEnum(node: StatementedNode, name: string): ts.EnumDeclaration | undefined; export declare function getEnumOrThrow(node: StatementedNode, name: string): ts.EnumDeclaration; export declare function getLabel(node: ts.BreakStatement | ts.ContinueStatement): ts.Identifier | undefined; export declare function getClauses(node: ts.CaseBlock): ReadonlyArray; export declare function getOnlyVariableDeclaration(node: ts.CatchClause): ts.VariableDeclaration | undefined; export declare function getBlock(node: ts.CatchClause): ts.Block; export declare function getStatement(node: ts.DoStatement | ts.ForStatement | ts.WhileStatement | ts.ForInOrOfStatement): ts.Statement; export declare function getInitializer(node: ts.ForInOrOfStatement): ts.VariableDeclarationList | ts.Expression; export declare function getInitializer(node: ts.ForStatement): ts.VariableDeclarationList | ts.Expression | undefined; export declare function getCondition(node: ts.ForStatement): ts.Expression | undefined; export declare function getIncrementor(node: ts.ForStatement): ts.Expression | undefined; export declare function getThenStatement(node: ts.IfStatement): ts.Statement; export declare function getElseStatement(node: ts.IfStatement): ts.Statement | undefined; export declare function getCaseBlock(node: ts.SwitchStatement): ts.CaseBlock; export declare function getCatchClause(node: ts.TryStatement): ts.CatchClause | undefined; export declare function getTryBlock(node: ts.TryStatement): ts.Block; export declare function getFinallyBlock(node: ts.TryStatement): ts.Block | undefined;