/** * Runtime validation for `TimelineConfig` + per-track src/data exclusivity. * * Enforced at container render time plus re-usable by the JSX path. Errors * name the offending track so bad configs surface before any lane mounts. */ import type { TrackRow, TimelineConfig } from './types/config'; /** * Assert that a set of lane-like props carries exactly one of src / data. * * `context` is embedded in the error message (track id, view name, etc.) * so the thrown error is actionable without reading the caller. */ export declare function assertSrcOrData(props: { src?: unknown; data?: unknown; }, context: string): void; /** * Validate a single `TrackRow`. Throws on the first issue. Safe to call * during config hydration — the error message names the offending track * so broken configs surface before any component mounts. */ export declare function validateTrackRow(track: TrackRow): void; /** * Validate a whole timeline config: container, every track, duplicate ids, * duplicate paths, and group overrides that don't match any prefix. * Returns silently on success; throws on the first structural issue. */ export declare function validateTimelineConfig(config: TimelineConfig): void; export declare const validateTrackConfig: typeof validateTrackRow; //# sourceMappingURL=validate.d.ts.map