import type { StructuredError } from "../errors/structured-errors.js"; export interface ValidationSuccess { ok: true; } export interface ValidationFailure { ok: false; errors: StructuredError[]; } export type ValidationResult = ValidationSuccess | ValidationFailure; /** * Validate an unknown JSON value as an Edict AST (module or fragment). * * Auto-detects `kind: "module"` vs `kind: "fragment"`. * Returns all errors found (does not stop at first error). * * @param ast - Any JSON value to validate against the Edict AST schema * @returns `{ ok: true }` if valid, or `{ ok: false, errors }` with all structural errors */ export declare function validate(ast: unknown): ValidationResult; /** * Validate an unknown JSON value specifically as an Edict fragment. * * Unlike {@link validate}, does not auto-detect module vs fragment — * always validates against the fragment schema. * * @param ast - Any JSON value to validate as an Edict fragment * @returns `{ ok: true }` if valid, or `{ ok: false, errors }` with all structural errors */ export declare function validateFragmentAst(ast: unknown): ValidationResult; //# sourceMappingURL=validate.d.ts.map