/** * Util useful to create mocked versions of classes with each of their methods * and properties replaced, while being properly checked by TypeScript. * @param {Object} methods - Each of this class' methods (key is the method * name, value is the implementation). * @param {Object} properties - Each of this class' property (key is the * property name, value is the implementation). * @returns {*} - The mocked class, which should respect its public API. */ export declare function makeMockedClass(methods: MethodsMap, properties: PropertiesMap): { new (opts?: Partial): T; prototype: IPrototype; }; type IPrototype = { [K in keyof T as T[K] extends Function ? K : never]: T[K]; }; type MethodKeys = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; type PropertyKeys = { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]; type MethodsMap = { [K in MethodKeys]: T[K]; }; type PropertiesMap = { [K in PropertyKeys]: T[K]; }; export {}; //# sourceMappingURL=test-utils.d.ts.map