import { Scenario } from './types'; /** * Reject a scenario larger than this — a sanity ceiling on untrusted * hand-written/loaded JSON, not a quota guard (a scenario object isn't persisted * to storage; only its derived flags/journal are). Generous on purpose: an * author may inline file contents via `writeFile`/`addFile`, so a real * content-heavy story can run to hundreds of KB. 2 MB catches pathological input * while comfortably fitting any genuine scenario. */ export declare const SCENARIO_MAX_BYTES: number; export interface ScenarioValidation { ok: boolean; errors: string[]; warnings: string[]; } export declare class ScenarioValidationError extends Error { constructor(message: string); } /** * Validate a scenario object. Returns collected `errors` / `warnings`, each * prefixed with the offending path (e.g. `triggers[0].do[1]`). Never throws. */ export declare const validateScenario: (scenario: unknown) => ScenarioValidation; /** Throw {@link ScenarioValidationError} (with all errors) if the scenario is invalid. */ export declare function assertValidScenario(scenario: unknown): asserts scenario is Scenario;