import { W as WidgetInteractions } from '../types-CJtAzafC.js'; export { k as ACTION_OPS, l as ANIMATION_PRESETS, i as Action, A as ActionOp, h as AnimationPreset, m as BEHAVIOR_BINDING_KEYS, e as BehaviorBindingKey, f as BindableAttr, B as Binding, g as BindingMap, d as ElTarget, G as Guard, j as InteractionEvent, N as NumericStyleProp, n as QUEUE_POLICIES, Q as QueuePolicy, R as RatioStyleProp, S as Sequence, o as TIMER_TICK, T as TimerTickPayload } from '../types-CJtAzafC.js'; import { W as WidgetManifest } from '../manifest-Dj_fC51m.js'; import '../lifecycle-DRSAPNpC.js'; /** * @eeko/sdk — widget behaviour classification (seam-side helper). * * The one seed-independent signal: does this widget describe its behaviour * declaratively (a non-empty `interactions.on`)? The visual editor combines * this with a seed comparison it owns — the canonical seed lives in the * monorepo (`@live-alerts/git-utils`), not the SDK — to decide whether to * expose behaviour controls or degrade to style-only editing. */ /** True if the manifest declares at least one non-empty interaction sequence. */ declare function hasInteractions(manifest: Pick | null | undefined): boolean; type ValidateInteractionsResult = { ok: true; interactions: WidgetInteractions; } | { ok: false; errors: string[]; }; /** * Structurally validate a `widget.json` `interactions` block. Returns the * typed block on success, or every problem found (with JSON paths) on failure. */ declare function validateInteractions(input: unknown): ValidateInteractionsResult; export { type ValidateInteractionsResult, WidgetInteractions, hasInteractions, validateInteractions };