import type {TemplateResult} from 'lit'; /** A section placed on a page. */ export interface PageSection { id: string; type: string; /** Overrides the type label when set (per-instance rename). */ label?: string; /** Section content, keyed by field name (the inspector's `name` attributes). */ data: Record; /** Slot contents for container sections, sized to the type's `slots`. Empty slots are null. */ children?: (PageSection | null)[]; } /** The complete serialisable state of a page. Order = render order. */ export interface PageState { sections: PageSection[]; } /** * Describes a kind of section that can be placed on a page. Declared via * `