/** 从枚举对象中获取指定键对应的值。
 * @param enumObj - 枚举对象，类型为泛型 T，T 必须是一个键为字符串，值为任意类型的对象。
 * @param value - 要查找的键，类型为字符串。
 * @returns 返回枚举对象中指定键对应的值，类型为 T 中任意键对应的值的类型。
 * @throws 如果在枚举对象中未找到指定的键，则抛出一个错误。 */
export declare function getEnumValue<T extends Record<string, unknown>>(enumObj: T, value: string): T[keyof T];
/** 检查对象是否包含指定类原型上的所有方法。
 * @template T - 类实例的类型
 * @param obj - 要检查的对象
 * @param Cls - 类的构造函数，用于获取其原型上的方法
 * @returns 如果对象包含类原型上的所有方法，则返回 true，否则返回 false */
export declare function hasAllMethods<T extends object, C extends new (...args: any[]) => any>(obj: any, Cls: C): obj is T;
/** 将类的方法添加到目标对象上
 * @template T - 目标对象的类型，必须是一个对象
 * @template C - 类的构造函数类型，必须是一个可以接受任意参数的构造函数
 * @param obj - 目标对象，将类的方法添加到这个对象上
 * @param Cls - 类的构造函数，从这个类的原型上获取方法
 * @returns 返回一个新对象，该对象是目标对象和类实例类型的交集 */
export declare function addClassMethods<T extends object, C extends new (...args: any[]) => any>(obj: T, Cls: C): T & InstanceType<C>;
