/**
 * Instance Factory Validator
 *
 * Validates instance factory compatibility and requirements.
 */
import type { InstanceFactory, ResolvedImplementation } from '../types/index.js';
/**
 * Compatibility validation result
 */
export interface CompatibilityResult {
    /** Whether the instance factory is compatible */
    compatible: boolean;
    /** Error messages if incompatible */
    errors?: string[];
    /** Warning messages */
    warnings?: string[];
}
/**
 * Dependency resolution result
 */
export interface DependencyResolutionResult {
    /** Whether all dependencies are satisfied */
    satisfied: boolean;
    /** Missing dependencies */
    missing?: string[];
    /** Version conflicts */
    conflicts?: Array<{
        capability: string;
        required: string;
        available?: string;
    }>;
}
/**
 * Validator for instance factory compatibility
 */
export declare class InstanceFactoryValidator {
    /**
     * Validate instance factory against SpecVerse version
     */
    validateCompatibility(factory: InstanceFactory, options?: {
        specverseVersion?: string;
        nodeVersion?: string;
    }): CompatibilityResult;
    /**
     * Validate that all required capabilities are provided
     */
    validateCapabilities(factory: InstanceFactory, availableCapabilities: string[]): CompatibilityResult;
    /**
     * Validate dependencies between resolved implementations
     */
    validateDependencies(resolved: ResolvedImplementation[]): DependencyResolutionResult;
    /**
     * Validate that an instance factory can extend another
     */
    validateExtension(child: InstanceFactory, parent: InstanceFactory): CompatibilityResult;
    /**
     * Validate complete instance factory
     */
    validateComplete(factory: InstanceFactory, options?: {
        specverseVersion?: string;
        nodeVersion?: string;
        availableCapabilities?: string[];
    }): CompatibilityResult;
}
//# sourceMappingURL=validator.d.ts.map