import { TConstructor } from '../../types';
export declare class Clazz {
    /**
     * 判断类型的最祖先类是否是指定类
     * @param child 子类
     * @param ancestor 祖类
     */
    static isClassFromAncestor(child: new () => any, ancestor: new () => any): boolean;
    /**
     * 判断类型是否继承链是否包含某个父类
     * @param child 子类
     * @param parent 父类
     */
    static hasClassInChain(child: TConstructor, parent: TConstructor): boolean;
    /**
     * 获取类的所有字段名列表
     * @param target 类
     */
    static getClassAllField<T>(target: new () => T): string[];
    /**
     * 获取类的所有方法名列表（包括继承的方法）
     * @param target 类
     */
    static getClassAllMethod<T>(target: new () => T): string[];
    /**
     * 获取类的所有静态字段名列表
     * @param target 类
     */
    static getClassStaticField<T>(target: new () => T): string[];
    /**
     * 获取类的所有静态方法名列表
     * @param target 类
     */
    static getClassStaticMethod<T>(target: new () => T): string[];
}
