import { ProviderDefinition, InjectionToken as Token } from '@omnitron-dev/titan/nexus'; export interface MockProviderConfig { token: Token; value?: T; factory?: (...args: any[]) => T; spy?: boolean; autoMock?: boolean; } export declare class MockProviderDI { private config; private provider; constructor(config: MockProviderConfig); getProvider(): ProviderDefinition; private createAutoMock; createSpy(): T; } export declare function createMockProvider(config: MockProviderConfig): MockProviderDI; export declare function createAutoMockProvider(token: Token): MockProviderDI; export declare class MockProvider { private mockImplementation; constructor(mockImplementation: Record); [key: string]: any; } export declare class SpyProvider { private original; private calls; private spies; constructor(original: any, methods: string[]); private recordCall; getCallCount(method: string): number; getLastCall(method: string): { args: any[]; result?: any; error?: Error; } | undefined; getSpy(method: string): any; } export declare class StubProvider { private stubs; constructor(stubs: Record); }