/**
 * Skill Validator
 *
 * Centralized validation logic for the Skill Engine:
 *
 * 1. **validateSkillInputs()** — Runtime parameter validation against SkillInput declarations.
 *    Catches missing required params, type mismatches, and undeclared params.
 *
 * 2. **validateSkillConditions()** — Load-time condition expression checking.
 *    Verifies that all variables referenced in step `condition` fields resolve to
 *    declared inputs, prior step IDs, save_as variables, or implicit context params.
 *
 * 3. **validateFragmentReferences()** — Load-time fragment path validation.
 *    Ensures that all `sql_fragments` paths in AtomicStep definitions point to
 *    files that exist in the fragment cache.
 */
import { SkillDefinition, SkillInput, ValidatedParams } from './types';
/** Warning produced by load-time validation (conditions, fragments, etc.) */
export interface SkillValidationWarning {
    stepId: string;
    message: string;
}
/**
 * Validate runtime parameters against a skill's declared inputs.
 *
 * - Required params that are missing → error
 * - Missing params with defaults → filled with coerced default
 * - Type coercion: number/integer/boolean/timestamp/duration/string
 * - Undeclared params (not in inputs) → warning
 * - If skill has no inputs declaration, params are passed through as-is
 */
export declare function validateSkillInputs(_skillId: string, inputs: SkillInput[] | undefined, params: Record<string, any>): ValidatedParams;
/**
 * Validate all condition expressions in a skill definition.
 *
 * For each step's `condition` field, extracts root variables and checks that
 * every variable resolves to one of:
 *   - A declared input parameter
 *   - An implicit runtime parameter (package, vendor, start_ts, etc.)
 *   - A context dependency (skill.context[])
 *   - A prior step ID (context.results[stepId])
 *   - A prior step's save_as variable
 *   - A JS built-in (filtered by extractRootVariables)
 *
 * Also validates iterator step `source` references.
 */
export declare function validateSkillConditions(skill: SkillDefinition): SkillValidationWarning[];
/**
 * Validate that all sql_fragments references in a skill definition
 * point to fragments that exist in the loaded fragment cache.
 */
export declare function validateFragmentReferences(skill: SkillDefinition, availableFragments: Set<string>): SkillValidationWarning[];
//# sourceMappingURL=skillValidator.d.ts.map