/** * QA360 Pack v2 Loader * * Loads and parses pack.yml v2 files from the filesystem. * Supports environment variable substitution with ${VAR} and ${VAR:-default} syntax. */ import { PackConfigV2, PackValidationResultV2, ValidationError } from '../types/pack-v2.js'; export interface PackLoadResult { success: boolean; pack?: PackConfigV2 | any; validation?: PackValidationResultV2; valid?: boolean; error?: Error; sourcePath?: string; format?: 'v1' | 'v2' | 'unknown' | 'legacy'; migrated?: boolean; changes?: string[]; warnings?: string[]; foundFiles?: string[]; missingFiles?: string[]; validationErrors?: ValidationError[]; } export declare class PackLoaderV2 { private cache; /** * Load a pack configuration from a file path */ load(packPath: string, options?: { validate?: boolean; checkFilesExist?: boolean; useCache?: boolean; migrate?: boolean; }): Promise; /** * Load and validate in one step */ loadAndValidate(packPath: string, options?: { checkFilesExist?: boolean; }): Promise; /** * Load multiple packs from a directory */ loadFromDir(dirPath: string, options?: { pattern?: string; validate?: boolean; checkFilesExist?: boolean; }): Promise; /** * Load from a YAML string (useful for testing or dynamic configs) */ loadFromString(yamlContent: string, options?: { validate?: boolean; filename?: string; }): Promise; /** * Clear the cache */ clearCache(path?: string): void; /** * Get cache size */ getCacheSize(): number; }