/**
 * Plugin System Type Definitions
 *
 * Defines interfaces and types for Claude Code's native plugin architecture.
 * Follows Claude's official plugin.json schema (Anthropic standards).
 *
 * @module core/types/plugin
 * @version 0.6.1
 * @see https://docs.claude.com/en/docs/claude-code/plugins
 */
/**
 * Plugin Error - Custom error for plugin operations
 */
export class PluginError extends Error {
    constructor(message, pluginName, code) {
        super(message);
        this.pluginName = pluginName;
        this.code = code;
        this.name = 'PluginError';
    }
}
/**
 * Plugin Manifest Validation Error
 */
export class ManifestValidationError extends PluginError {
    constructor(message, pluginName) {
        super(message, pluginName, 'MANIFEST_INVALID');
        this.name = 'ManifestValidationError';
    }
}
/**
 * Plugin Not Found Error
 */
export class PluginNotFoundError extends PluginError {
    constructor(pluginName) {
        super(`Plugin '${pluginName}' not found`, pluginName, 'PLUGIN_NOT_FOUND');
        this.name = 'PluginNotFoundError';
    }
}
/**
 * Plugin Dependency Error
 */
export class PluginDependencyError extends PluginError {
    constructor(message, pluginName) {
        super(message, pluginName, 'DEPENDENCY_ERROR');
        this.name = 'PluginDependencyError';
    }
}
//# sourceMappingURL=plugin.js.map