/** * Central provider registry for managing all provider types */ import { IBugTrackerProvider } from './interfaces/IBugTrackerProvider'; import { IDatabaseProvider } from './interfaces/IDatabaseProvider'; import { INotificationProvider } from './interfaces/INotificationProvider'; import { IPRProvider } from './interfaces/IPRProvider'; import { IAIProvider } from './interfaces/IAIProvider'; import { AIProviderType } from './ai/AIProviderFactory'; export interface ProviderConfig { bugTracker?: { type: 'azure-devops' | 'github' | 'jira'; config?: Record; }; database?: { type: 'sqlite' | 'mysql' | 'postgresql'; config?: Record; }; notification?: { type: 'email' | 'slack' | 'teams'; config?: Record; }; pr?: { type: 'github' | 'azure-devops'; config?: Record; }; ai?: { type: AIProviderType | string; config?: Record; }; } /** * Centralized provider registry for managing all provider instances */ export declare class ProviderRegistry { private static bugTrackerProvider?; private static databaseProvider?; private static notificationProvider?; private static prProvider?; private static aiProvider?; private static config?; /** * Initialize the provider registry with configuration * @param config - Provider configuration */ static initialize(config?: ProviderConfig): Promise; /** * Load configuration from environment variables */ private static loadConfigFromEnv; /** * Get or create bug tracker provider */ static getBugTrackerProvider(): Promise; /** * Get or create database provider */ static getDatabaseProvider(): Promise; /** * Get or create notification provider */ static getNotificationProvider(): Promise; /** * Get or create PR provider */ static getPRProvider(): Promise; /** * Get or create AI provider */ static getAIProvider(): Promise; /** * Reset all provider instances (useful for testing) */ static reset(): void; /** * Close all provider connections */ static closeAll(): Promise; }