/**
 * Installation Validator
 *
 * Validates that instance factory npm packages are installed locally
 * and that the factory files exist at the specified locations.
 *
 * @module registry/validators/installation-validator
 * @version 2.0.0
 */
import type { ValidationResult, RegistryFactoryMetadata } from '../types/index.js';
import type { SpecVerseManifest } from './manifest-validator.js';
/**
 * Installation validation options
 */
export interface InstallationValidationOptions {
    /** Auto-install missing packages (not implemented yet) */
    autoInstall?: boolean;
    /** Project root directory (default: process.cwd()) */
    projectRoot?: string;
    /** File path for error reporting */
    filePath?: string;
}
/**
 * Package installation info
 */
export interface PackageInfo {
    /** Package name */
    name: string;
    /** Is package installed? */
    installed: boolean;
    /** Installed version (if available) */
    version?: string;
    /** Package.json path */
    packageJsonPath?: string;
}
/**
 * Installation Validator
 *
 * Validates that required npm packages are installed locally.
 */
export declare class InstallationValidator {
    /**
     * Validate installation
     *
     * @param manifest - Manifest to validate
     * @param registryFactories - Factory metadata from registry
     * @param options - Validation options
     * @returns Validation result
     */
    validate(manifest: SpecVerseManifest, registryFactories: Map<string, RegistryFactoryMetadata>, options?: InstallationValidationOptions): Promise<ValidationResult>;
    /**
     * Check if a package is installed
     *
     * @param packageName - Package name
     * @param projectRoot - Project root directory
     * @returns Package info
     */
    private checkPackageInstallation;
    /**
     * Check if a file exists
     *
     * @param filePath - File path to check
     * @returns True if file exists
     */
    private checkFileExists;
    /**
     * Get package info for a specific package
     *
     * @param packageName - Package name
     * @param projectRoot - Project root directory
     * @returns Package info
     */
    getPackageInfo(packageName: string, projectRoot?: string): Promise<PackageInfo>;
}
//# sourceMappingURL=installation-validator.d.ts.map