import ts from 'typescript'; export declare type ClassPropertyType = ts.PropertyDeclaration | ts.GetAccessorDeclaration | ts.SetAccessorDeclaration; export declare function isClassProperty(node: ts.Node): node is ClassPropertyType; export declare type ClassInstancePropertyType = ClassPropertyType | ts.ParameterPropertyDeclaration; export declare function isClassInstanceProperty(node: ts.Node): node is ClassInstancePropertyType; export declare type ClassInstanceMemberType = ts.MethodDeclaration | ClassInstancePropertyType; export declare function isClassInstanceMember(node: ts.Node): node is ClassInstanceMemberType; export declare type ClassStaticPropertyType = ClassPropertyType; export declare function isClassStaticProperty(node: ts.Node): node is ClassStaticPropertyType; export declare type ClassStaticMemberType = ts.MethodDeclaration | ClassStaticPropertyType; export declare function isClassStaticMember(node: ts.Node): node is ClassStaticMemberType; export declare type ClassMemberType = ClassInstanceMemberType | ClassStaticMemberType; export declare function isClassMember(node: ts.Node): node is ClassMemberType; export declare function getExtends(node: ts.ClassDeclaration | ts.ClassExpression): ts.ExpressionWithTypeArguments | undefined; export declare function getExtendsOrThrow(node: ts.ClassDeclaration | ts.ClassExpression): ts.ExpressionWithTypeArguments; export declare function getImplements(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray | undefined; export declare function getImplementsArray(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getInstanceProperties(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getInstanceMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getInstanceMethods(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getMethods(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getSetAccessors(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getInstanceMethod(node: ts.ClassDeclaration | ts.ClassExpression, name: string): ts.MethodDeclaration | undefined; export declare function getConcreteInstanceProperties(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteInstanceMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteInstanceMethods(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getStaticProperties(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getStaticMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteStaticProperties(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteStaticMembers(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteStaticMethods(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConstructors(node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getConcreteConstructor(node: ts.ClassDeclaration | ts.ClassExpression): ts.ConstructorDeclaration | undefined; export declare function getFirstConcreteConstructor(typeChecker: ts.TypeChecker, node: ts.ClassDeclaration): ts.ConstructorDeclaration | undefined; export declare function getDerivedClasses(program: ts.Program, languageService: ts.LanguageService, node: ts.ClassDeclaration): ReadonlyArray; export declare function getImplementors(program: ts.Program, languageService: ts.LanguageService, node: ts.InterfaceDeclaration): ReadonlyArray; export declare function getExtendors(program: ts.Program, languageService: ts.LanguageService, node: ts.ClassDeclaration): ReadonlyArray; export declare function getBaseTypes(typeChecker: ts.TypeChecker, node: ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration): ReadonlyArray; export declare function getBaseTypesFlattened(typeChecker: ts.TypeChecker, node: ts.ClassDeclaration | ts.ClassExpression | ts.InterfaceDeclaration): ReadonlyArray; export declare function getBaseClasses(typeChecker: ts.TypeChecker, node: ts.ClassDeclaration | ts.ClassExpression): ReadonlyArray; export declare function getBaseClass(typeChecker: ts.TypeChecker, node: ts.ClassDeclaration | ts.ClassExpression): ts.ClassDeclaration | undefined;