export interface EvidenceProvider { readonly id: string; readonly name: string; collectEvidence(projectPath: string, artifactName: string): Promise<{ found: boolean; path: string; }>; } export interface NotificationProvider { readonly id: string; notify(event: { type: string; payload: unknown; }): Promise; } export interface StorageProvider { readonly id: string; save(key: string, value: unknown): Promise; load(key: string): Promise; } export interface ProviderRegistry { registerEvidence(provider: EvidenceProvider): void; registerNotification(provider: NotificationProvider): void; registerStorage(provider: StorageProvider): void; getEvidence(id: string): EvidenceProvider | undefined; getNotification(id: string): NotificationProvider | undefined; getStorage(id: string): StorageProvider | undefined; } export declare class InMemoryProviderRegistry implements ProviderRegistry { private evidenceProviders; private notificationProviders; private storageProviders; registerEvidence(p: EvidenceProvider): void; registerNotification(p: NotificationProvider): void; registerStorage(p: StorageProvider): void; getEvidence(id: string): EvidenceProvider | undefined; getNotification(id: string): NotificationProvider | undefined; getStorage(id: string): StorageProvider | undefined; }