export interface RoutingContext { request: any; tokenCount: number; config: any; env: NodeJS.ProcessEnv; synapseContext?: any; requestBody?: any; } export interface RoutingDecision { model: string; source?: string; reason: string; tokenCount?: number; metadata?: Record; } export interface ConduitPlugin { name: string; version: string; beforeRouting?(context: RoutingContext): Promise; afterRouting?(decision: RoutingDecision): Promise; onModelSelected?(model: string, context: any): Promise; customRouter?(context: RoutingContext): Promise; } export interface PluginManager { registerPlugin(plugin: ConduitPlugin): void; loadPlugins(pluginDir: string): Promise; executeHook(hookName: string, data: T): Promise; executeCustomRouting(context: RoutingContext): Promise; } //# sourceMappingURL=plugin-interface.d.ts.map