import { DiscoveredPlugin } from './plugin-discovery.js';
/**
 * Validation rule for a plugin
 */
interface ValidationRule {
    /** Name of the rule */
    name: string;
    /** Description of what the rule validates */
    description: string;
    /** The validation function */
    validate: (plugin: DiscoveredPlugin) => ValidationResult;
}
/**
 * Result of a validation check
 */
interface ValidationResult {
    /** Whether the validation passed */
    valid: boolean;
    /** Error message if validation failed */
    error?: string;
    /** Warning message if validation passed with warnings */
    warning?: string;
}
/**
 * Plugin validation options
 */
export interface PluginValidationOptions {
    /** Current platform version */
    platformVersion: string;
    /** Whether to apply strict validation */
    strict?: boolean;
    /** Custom validation rules */
    customRules?: ValidationRule[];
}
/**
 * Result of plugin validation
 */
export interface PluginValidationReport {
    /** Whether the plugin is valid */
    valid: boolean;
    /** ID of the plugin */
    pluginId: string;
    /** Array of validation errors */
    errors: string[];
    /** Array of validation warnings */
    warnings: string[];
}
/**
 * System for validating Vooodooo plugins
 */
export declare class PluginValidator {
    private options;
    private rules;
    constructor(options: PluginValidationOptions);
    /**
     * Validate a plugin
     */
    validatePlugin(plugin: DiscoveredPlugin): PluginValidationReport;
    /**
     * Set up default validation rules
     */
    private setupDefaultRules;
}
/**
 * Create a plugin validator instance
 */
export declare function createPluginValidator(options: PluginValidationOptions): PluginValidator;
export {};
