/** * Plugin system for extending change detector functionality. * * This module provides types and utilities for building plugins that extend * the change detector with custom input processors, policies, reporters, * and validators. * * @example * ```ts * import { * createPluginRegistry, * discoverPlugins, * validatePlugin, * } from '@api-extractor-tools/change-detector-core/plugins'; * * // Create a registry * const registry = createPluginRegistry(); * * // Discover and register plugins * const discovered = await discoverPlugins({ searchPaths: ['./plugins'] }); * for (const plugin of discovered.plugins) { * registry.register(plugin); * } * ``` */ export type { ReleaseType, ChangeCategory, SymbolKind, SourceLocation, SymbolMetadata, ExportedSymbol, ChangeDetails, AnalyzedChange, Change, ClassifyContext, VersioningPolicy, ChangesByImpact, ComparisonStats, ComparisonReport, } from './types'; export { type SourceMapping, type ProcessResult, type InputProcessor, type InputProcessorOptions, type InputProcessorDefinition, type PolicyContext, type ExtendedVersioningPolicy, type PolicyOptions, type PolicyDefinition, type ReportOutputFormat, type ReportOutput, type Reporter, type AsyncReporter, type ReporterOptions, type ReporterDefinition, type ValidationResult, type Validator, type ValidatorDefinition, type PluginMetadata, type ChangeDetectorPlugin, type PluginLifecycle, type ChangeDetectorPluginWithLifecycle, type PluginErrorCode, PluginError, type PluginResult, PLUGIN_KEYWORDS, type DiscoveredPlugin, type ResolvedPlugin, type InputProcessorPlugin, adaptLegacyInputProcessorPlugin, } from './plugin-types'; export { type PluginValidationError, type PluginValidationResult, type PluginValidationOptions, validatePlugin, isValidPlugin, formatValidationErrors, } from './plugin-validation'; export { type PluginDiscoveryOptions, type PluginDiscoveryLogger, type PluginPackageInfo, type LoadedPlugin, type PluginDiscoveryError, type PluginDiscoveryResult, discoverPlugins, scanForPlugins, } from './plugin-discovery'; export { type ResolvedCapability, type RegisterOptions, type RegistryLogger, type PluginRegistryOptions, type PluginRegistry, createPluginRegistry, } from './plugin-registry'; //# sourceMappingURL=plugins.d.ts.map