// 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 { KcMaximizeIntentDetail, KcMaximizeStateDetail } from './resizable'; declare global { interface KcResizableElement 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 { 'kc-resizable': KcResizableElement; } interface HTMLElementEventMap { 'kc-maximize-intent': CustomEvent; 'kc-maximize-state': CustomEvent; } } export {};