/**
 * Variable Resolver for MSSCI-12081
 *
 * Resolves {variable} placeholders in step file content from multiple sources
 * with priority-based fallback chain.
 */
/**
 * Represents a source of variable values
 */
export interface VariableSource {
    /** Name of this source (e.g., 'workflow', 'session', 'environment') */
    name: string;
    /** Priority level (lower number = higher priority) */
    priority: number;
    /** Map of variable names to their values */
    values: Record<string, string>;
}
/**
 * Result of variable resolution
 */
export interface ResolveResult {
    /** Content with variables resolved (unresolved variables left as-is) */
    content: string;
    /** List of variables that were successfully resolved */
    resolved: string[];
    /** List of variables that could not be resolved */
    unresolved: string[];
    /** Map of variable name to source name that provided the value */
    sources: Record<string, string>;
}
/**
 * Options for the convenience resolveStepVariables function
 */
export interface ResolveStepOptions {
    /** Variables from workflow YAML (highest priority) */
    workflowVars?: Record<string, unknown>;
    /** Variables from session file */
    sessionVars?: Record<string, string>;
    /** Path to config file */
    configPath?: string;
    /** Project root path (for {project_root} variable) */
    projectRoot?: string;
}
/**
 * Resolve variables in content from prioritized sources
 *
 * @param content - The content containing {variable} placeholders
 * @param sources - Array of variable sources, sorted by priority
 * @returns ResolveResult with resolved content and metadata
 */
export declare function resolveVariables(content: string, sources: VariableSource[]): ResolveResult;
/**
 * Convenience function to resolve variables in step file content
 *
 * Automatically builds sources from:
 * 1. Workflow variables (priority 1)
 * 2. Session variables (priority 2)
 * 3. Config file values (priority 3)
 * 4. Environment/system variables (priority 4)
 * 5. Default values (priority 5)
 *
 * @param stepContent - The step file content to process
 * @param options - Optional configuration for variable sources
 * @returns ResolveResult with resolved content and metadata
 */
export declare function resolveStepVariables(stepContent: string, options?: ResolveStepOptions): ResolveResult;
//# sourceMappingURL=variable-resolver.d.ts.map