import type { CompositionVariable } from "../core.types";
export type VariableValidationIssue = {
    kind: "undeclared";
    variableId: string;
} | {
    kind: "type-mismatch";
    variableId: string;
    expected: string;
    actual: string;
} | {
    kind: "enum-out-of-range";
    variableId: string;
    allowed: string[];
    actual: string;
};
/**
 * Compare a flat values map (from `--variables` / `data-variable-values`) to
 * the declared schema (`data-composition-variables`). Returns issues for keys
 * that aren't declared, plus per-key type mismatches against the declared
 * type. Pure / sync — caller decides how to surface them (warning vs render
 * failure under `--strict-variables`).
 */
export declare function validateVariables(values: Record<string, unknown>, declarations: readonly CompositionVariable[]): VariableValidationIssue[];
export declare function formatVariableValidationIssue(issue: VariableValidationIssue): string;
//# sourceMappingURL=validateVariables.d.ts.map