import type { SchemaBase } from './dsl.js'; import type { RefSchema } from './ref.js'; import type { PageActionSchema } from './page-action.js'; import type { EventDataSchema } from './event.js'; /** A component event trigger declaration. */ export interface TriggerSchema extends SchemaBase { /** Data the event carries (e.g. e.detail). */ eventData?: EventDataSchema; /** Page actions that fire when the event occurs. */ actions?: PageActionSchema[]; } /** A UI component declaration — a virtual schema that describes props and * event triggers, not a real renderable component. * * properties: data bindings via RefSchema (or literal values). * triggers: event name → TriggerSchema bindings. */ export interface ComponentSchema extends SchemaBase { properties: Record; triggers: Record; }