// src/elements/resizable.d.ts // Hand-authored ambient types for 's maximize capability. The // generated element-types.d.ts emits prop/event interfaces only (not methods), // so the imperative host API + the cross-element protocol events live here. // NOT regenerated by `npm run build`. import type { KaiMaximizeIntentDetail, KaiMaximizeStateDetail } from './resizable'; declare global { interface KaiResizableElement extends HTMLElement { /** Which item index is maximized (null = none). Setting it maximizes that * item (or restores when set to null) — the declarative source of truth. */ maximizedIndex: number | null; /** Imperatively maximize the item at `index` (thin wrapper over maximizedIndex). */ maximize(index: number): void; /** Imperatively restore from the maximized layout. */ restore(): void; } interface HTMLElementTagNameMap { 'kai-resizable': KaiResizableElement; } interface HTMLElementEventMap { 'kai-maximize-intent': CustomEvent; 'kai-maximize-state': CustomEvent; } } export {};