/**
 * Validation utilities for plugin metadata, settings, and configurations
 *
 * Provides comprehensive validation for:
 * - Plugin metadata (name, version, dependencies, tags)
 * - Plugin settings (enabled state, priority, configuration)
 * - Semantic versioning compliance
 * - Naming conventions
 */
import type { PluginMetadata, PluginSettings } from '../core/types';
export declare class ValidationUtils {
    /**
     * Validates plugin metadata for completeness and correctness
     * Checks name, version, dependencies, and tags
     *
     * @param metadata - Plugin metadata to validate
     * @throws {Error} When validation fails
     */
    static validatePluginMetadata(metadata: PluginMetadata): void;
    /**
     * Validates plugin settings for type correctness
     * Ensures enabled is boolean, priority is number, and config is object
     *
     * @param settings - Plugin settings to validate
     * @throws {Error} When validation fails
     */
    static validatePluginSettings(settings: PluginSettings): void;
    /**
     * Validates plugin name format and uniqueness requirements
     * Enforces alphanumeric characters, hyphens, and underscores only
     *
     * @param name - Plugin name to validate
     * @throws {Error} When validation fails
     */
    static validatePluginName(name: string): void;
    /**
     * Validates that a field is a non-empty string
     */
    private static validateRequiredStringField;
    /**
     * Validates semantic version format using regex
     * Supports major.minor.patch with optional pre-release and build metadata
     */
    private static isValidSemVer;
    /**
     * Validates array of plugin dependencies
     * Ensures each dependency follows naming conventions
     */
    private static validateDependencies;
    /**
     * Validates array of plugin tags
     * Ensures each tag is a non-empty string
     */
    private static validateTags;
}
//# sourceMappingURL=validation.utils.d.ts.map