/**
 * TODO: DECLARATIVE PROGRAMMING PATTERN
 *
 * This file demonstrates excellent declarative programming practices:
 * - Pure functions with no side effects
 * - Functional composition with Promise.all()
 * - Immutable data handling
 * - Null coalescing operators (??)
 * - Array methods (map, length)
 * - No imperative loops or state mutations
 *
 * Mutation Score: 100% - This is why declarative code is easier to test!
 */
import { ValidationResult, ValidationContext } from '../../shared/types';
export interface PluginValidatorOptions {
    strict?: boolean;
}
export declare class PluginValidator {
    private options;
    constructor(options?: PluginValidatorOptions);
    /**
     * Run validation through all plugins
     */
    validateThroughPlugins(plugins: any[], config: Record<string, any>, context: ValidationContext): Promise<ValidationResult[]>;
    /**
     * Check if validation should be considered successful
     */
    isValidationSuccessful(errors: any[]): boolean;
    /**
     * Get strict mode setting
     */
    isStrictMode(): boolean;
}
//# sourceMappingURL=PluginValidator.d.ts.map