/** * QA360 Data Fixtures Resolver * * Resolves fixture references in configuration objects. * * Syntax: * - $fixtures.fixtureName.key.subkey * - Nested in objects: { url: "/login", email: "$fixtures.users.buyer.email" } * - In arrays: ["$fixtures.users.buyer.email", "$fixtures.users.admin.email"] */ import { ParsedReference, FixtureResolverOptions, FixtureResolverResult } from './types.js'; import { FixtureLoader } from './loader.js'; export declare class FixtureResolver { private loader; private baseDir; private unresolved; constructor(loader: FixtureLoader, baseDir: string); /** * Resolve fixture references in a configuration object * * @param config - The configuration object to resolve * @param options - Resolver options * @returns The resolved configuration */ resolve(config: unknown, options: FixtureResolverOptions): FixtureResolverResult; /** * Check if a value contains any fixture references * * @param value - The value to check * @returns True if fixture references are found */ private hasFixtureReferences; /** * Resolve fixture references in a value * * @param value - The value to resolve * @param options - Resolver options * @returns The resolved value */ private resolveValue; /** * Resolve a fixture path (e.g., "testUsers.buyer.email") * * @param path - The fixture path * @param options - Resolver options * @returns The resolved fixture value */ private resolveFixturePath; /** * Parse a fixture reference string * * @param ref - The reference string (e.g., "$fixtures.testUsers.buyer") * @returns The parsed reference */ parseReference(ref: string): ParsedReference | null; /** * Create a fixture reference string * * @param fixtureFile - The fixture file name * @param valuePath - The path within the fixture * @returns The fixture reference string */ createReference(fixtureFile: string, ...valuePath: string[]): string; /** * Get the list of unresolved references from the last resolve() call * * @returns Array of unresolved paths */ getUnresolved(): string[]; } /** * Resolve fixtures in a configuration object (convenience function) * * @param config - The configuration object * @param fixturePaths - Array of fixture file paths * @param baseDir - Base directory for resolving relative paths * @returns The resolved configuration */ export declare function resolveFixtures(config: unknown, fixturePaths: string[], baseDir: string): Promise;