import type { MockFunction } from '@suites/types.doubles'; import type { DependencyInjectionAdapter } from '@suites/types.di'; import type { IdentifierToMockOrFinal } from './dependency-container.js'; import { DependencyContainer } from './dependency-container.js'; import type { Type } from '@suites/types.common'; export interface MockedUnit { container: DependencyContainer; instance: TClass; resolution: { notFound: IdentifierToMockOrFinal[]; mocks: { metadata?: unknown; identifier: Type; }[]; exposes: Type[]; }; } export declare class UnitMocker { private readonly mockFunction; private readonly diAdapter; constructor(mockFunction: Promise, diAdapter: Promise); constructUnit(targetClass: Type, classesToExpose: Type[], mockContainer: DependencyContainer): Promise>; }