/* Пульс · типы тегов pulse-ds. Сгенерировано — не править. */ export interface PzIconAttributes { /** Имя значка из Material Symbols (add, search, forum, monitor_heart…). */ 'name'?: string; /** Размер в px. По умолчанию — размер значка контрола (--ic), иначе 20. */ 'size'?: number; /** Залитый вариант: активный пункт, статус. */ 'fill'?: boolean; /** Цвет. Без атрибута — цвет текста. */ 'tone'?: 'muted' | 'faint' | 'link' | 'accent' | 'ok' | 'danger' | 'ai'; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzButtonAttributes { /** Вид. ink — главное действие (в тёмной теме светлое). */ 'variant'?: 'white' | 'ink' | 'ghost' | 'blue' | 'danger'; /** Высота 32/40/48. Обычно задаётся рядом (.pz-sm/.pz-lg на предке), а не кнопкой. */ 'size'?: 'sm' | 'md' | 'lg'; /** Значок слева. */ 'icon'?: string; /** Значок справа. */ 'icon-end'?: string; /** Шеврон справа — кнопка открывает меню. */ 'dropdown'?: boolean; /** Кольцо вместо значка, нажатия не проходят. */ 'loading'?: boolean; /** */ 'disabled'?: boolean; /** На всю ширину. */ 'block'?: boolean; /** Сделать ссылкой . */ 'href'?: string; /** submit отправляет форму, в которой стоит кнопка. */ 'type'?: 'button' | 'submit' | 'reset'; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzIconButtonAttributes { /** Значок. */ 'icon'?: string; /** Подпись для экранных дикторов и подсказка. Обязательна. */ 'label'?: string; /** */ 'variant'?: 'plain' | 'solid' | 'ink' | 'blue'; /** */ 'size'?: 'sm' | 'md' | 'lg'; /** Выбрана (в группе — чернильная). */ 'on'?: boolean; /** Число в чернильном кружке. */ 'badge'?: string; /** Оранжевая точка — есть новое. */ 'dot'?: boolean; /** Залитый значок. */ 'fill'?: boolean; /** */ 'href'?: string; /** */ 'disabled'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzIconGroupAttributes { /** */ 'size'?: 'sm' | 'md' | 'lg'; /** aria-label группы. */ 'label'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzFieldAttributes { /** Подпись сверху (500 13 px, без капслока). */ 'label'?: string; /** */ 'value'?: string; /** */ 'placeholder'?: string; /** Имя в FormData. */ 'name'?: string; /** */ 'type'?: 'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | 'url' | 'date' | 'time'; /** Подсказка под полем. */ 'hint'?: string; /** Текст ошибки: поле красным ореолом, текст вместо подсказки. */ 'error'?: string; /** Значок слева. */ 'icon'?: string; /** Клавиша справа (⌘K). */ 'kbd'?: string; /** Многострочное, от 88 px. */ 'multiline'?: boolean; /** */ 'rows'?: number; /** Растёт по тексту. */ 'autogrow'?: boolean; /** Крестик очистки, когда есть текст. */ 'clearable'?: boolean; /** search — пилюля с тенью для поиска. */ 'variant'?: 'field' | 'search'; /** Для поиска — высота пилюли; для поля sm — 32. */ 'size'?: 'sm' | 'md' | 'lg'; /** */ 'required'?: boolean; /** */ 'disabled'?: boolean; /** */ 'readonly'?: boolean; /** */ 'autofocus'?: boolean; /** */ 'autocomplete'?: string; /** */ 'maxlength'?: number; /** */ 'min'?: string; /** */ 'max'?: string; /** */ 'inputmode'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzCheckboxAttributes { /** */ 'checked'?: boolean; /** Частично выбрано (минус). */ 'indeterminate'?: boolean; /** */ 'type'?: 'checkbox' | 'radio'; /** */ 'name'?: string; /** */ 'value'?: string; /** Вторая строка серым. */ 'hint'?: string; /** */ 'disabled'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzToggleAttributes { /** */ 'checked'?: boolean; /** aria-label, если рядом нет подписи. */ 'label'?: string; /** */ 'name'?: string; /** */ 'value'?: string; /** */ 'disabled'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzSegmentedAttributes { /** Выбранный вариант (value у pz-option). По умолчанию — первый. */ 'value'?: string; /** soft — на белой карточке, в меню, дровере. */ 'variant'?: 'ink' | 'soft'; /** sm 28 — вторичный фильтр внутри карточки (сразу soft). */ 'size'?: 'sm' | 'md'; /** Растянуть на всю ширину. */ 'fill'?: boolean; /** Только значки (подписи — в подсказках). */ 'icons'?: boolean; /** aria-label группы. */ 'label'?: string; /** */ 'name'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzChipAttributes { /** */ 'tone'?: 'neutral' | 'idea' | 'task' | 'bug' | 'doc' | 'ann' | 'ok' | 'warn' | 'hot' | 'lnk' | 'ai' | 'danger'; /** */ 'icon'?: string; /** Кнопка-фильтр. */ 'clickable'?: boolean; /** Выбран (чернильный). */ 'on'?: boolean; /** Белый с тенью, ненажимаемый. */ 'out'?: boolean; /** Крестик, событие pz-remove. */ 'removable'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzBadgeAttributes { /** Этап → цвет точки. */ 'status'?: 'new' | 'disc' | 'work' | 'rev' | 'done' | 'off' | 'block'; /** Свой цвет точки (CSS-цвет или var(--pz-…)). */ 'color'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzCounterAttributes { /** */ 'tone'?: 'blue' | 'hot' | 'mute' | 'ink' | 'plain'; /** Число (или содержимое). */ 'value'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzKbdAttributes { class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzAvatarAttributes { /** Имя: инициалы, цвет и подсказка. */ 'name'?: string; /** Фото; при ошибке загрузки — инициалы. */ 'src'?: string; /** 24 / 30 / 36 / 44 / 56 / 72. */ 'size'?: number; /** Сплошной цвет, белые буквы. */ 'solid'?: boolean; /** Значок вместо инициалов. */ 'icon'?: string; /** Белая обводка (в стопке ставится сама). */ 'ring'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzTileAttributes { /** */ 'icon'?: string; /** */ 'tone'?: 'idea' | 'task' | 'bug' | 'doc' | 'ann' | 'ok' | 'warn' | 'hot' | 'lnk' | 'ai' | 'danger' | 'ink' | 'logo'; /** Свой цвет (цвет пространства/темы): #hex или var(--pz-…). */ 'color'?: string; /** 28 / 36 / 44 / 56. */ 'size'?: 'xs' | 'sm' | 'md' | 'lg'; /** */ 'round'?: boolean; /** Подпись для экранных дикторов, если плитка несёт смысл. */ 'label'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzTooltipAttributes { /** */ 'text'?: string; /** Клавиша справа. */ 'kbd'?: string; /** */ 'placement'?: 'top' | 'bottom'; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzSpinnerAttributes { /** */ 'size'?: number; /** */ 'label'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzSkeletonAttributes { /** Сколько строк текста. */ 'lines'?: number; /** */ 'width'?: string; /** */ 'height'?: string; /** */ 'radius'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzCardAttributes { /** Заголовок h3. */ 'title'?: string; /** */ 'subtitle'?: string; /** Серое число рядом с заголовком. */ 'count'?: string; /** Плитка слева от заголовка. */ 'icon'?: string; /** Тон плитки (как у pz-tile). */ 'tone'?: string; /** Свой цвет плитки. */ 'color'?: string; /** Поднимается на 3 px при наведении (кликабельная карточка). */ 'hover'?: boolean; /** Вся карточка — ссылка. */ 'href'?: string; /** Поля 22×24 / 16×18 / 0 (для списков и картинок до края). */ 'pad'?: 'md' | 'sm' | 'none'; /** Тонированная подложка: ИИ-итог, горящее. */ 'tint'?: 'ai' | 'hot'; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzParamPillAttributes { /** Значение (или содержимое). */ 'value'?: string; /** Тихая подпись после значения («срок», «важность»). */ 'label'?: string; /** Значок в круге. */ 'icon'?: string; /** Имя человека — аватар в круге. */ 'avatar'?: string; /** Фото для аватара. */ 'src'?: string; /** Не задано: пунктирный контур, серый текст («+ Исполнитель»). */ 'none'?: boolean; /** Горит: просроченный или сегодняшний срок. */ 'hot'?: boolean; /** Предложение ИИ. */ 'ai'?: boolean; /** Меню открыто — ореол (pz-dropdown ставит сам). */ 'open'?: boolean; /** */ 'error'?: boolean; /** */ 'size'?: 'sm' | 'md'; /** Без шеврона (параметр только для чтения). */ 'no-chevron'?: boolean; /** */ 'disabled'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzDropdownAttributes { /** */ 'open'?: boolean; /** */ 'placement'?: 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end'; /** Без внутренних полей (календарь, своя разметка). */ 'flush'?: boolean; /** "trigger" — по ширине триггера, или CSS-длина. */ 'width'?: string; /** Всегда листом снизу. */ 'sheet'?: boolean; /** Заголовок листа на телефоне. */ 'title'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzMenuAttributes { /** Плейсхолдер поиска — включает поиск-шапку. */ 'search'?: string; /** Режим выбора: пункты отмечаются галочкой, событие pz-change. */ 'select'?: 'single' | 'multiple'; /** Текст, когда поиск ничего не нашёл. */ 'empty'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzCalendarAttributes { /** ISO-дата YYYY-MM-DD; пусто — без срока. */ 'value'?: string; /** Без панели быстрых вариантов — только месяц. */ 'no-quick'?: boolean; /** Без варианта «Без срока» (дата обязательна). */ 'no-none'?: boolean; /** Раньше этой даты выбрать нельзя. */ 'min'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzListRowAttributes { /** Заголовок (или содержимое). */ 'title'?: string; /** Вторая строка серым. */ 'meta'?: string; /** Номер записи (ПРО-140), моноширинным. */ 'id-label'?: string; /** Плитка слева. */ 'icon'?: string; /** */ 'tone'?: string; /** */ 'color'?: string; /** */ 'href'?: string; /** Открыта в дровере. */ 'selected'?: boolean; /** Синяя точка слева. */ 'unread'?: boolean; /** */ 'dense'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzStepperAttributes { /** Этапы через запятую: «Новая, Обсуждаем, В работе, Проверка, Готово». */ 'steps'?: string; /** Индекс текущего этапа (с нуля). */ 'current'?: number; /** Что дальше: «Ждёт ревью Анны». */ 'hint'?: string; /** Этапы нажимаются — событие pz-change. */ 'interactive'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzAttachmentAttributes { /** */ 'name'?: string; /** Размер, источник. */ 'meta'?: string; /** */ 'kind'?: 'file' | 'img' | 'link'; /** Превью картинки. */ 'thumb'?: string; /** */ 'href'?: string; /** */ 'icon'?: string; /** */ 'add'?: boolean; /** Крестик при наведении, событие pz-remove. */ 'removable'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzSettingRowAttributes { /** */ 'title'?: string; /** Пояснение серым. */ 'hint'?: string; /** Плитка слева. */ 'icon'?: string; /** */ 'tone'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzToastAttributes { /** Кнопка действия справа. */ 'action'?: string; /** */ 'icon'?: string; /** Значок успеха или ошибки. */ 'tone'?: 'ok' | 'err'; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzEmptyAttributes { /** */ 'icon'?: string; /** */ 'title'?: string; /** */ 'text'?: string; /** err — ошибка (значок cloud_off), ok — «всё сделано». */ 'tone'?: 'err' | 'ok'; /** Внутри карточки. */ 'compact'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzDrawerAttributes { /** */ 'open'?: boolean; /** */ 'mode'?: 'side' | 'window' | 'full'; /** Заголовок записи (h2). */ 'title'?: string; /** Номер записи в пилюле (ПРО-140). */ 'id-label'?: string; /** Плитка типа в пилюле номера. */ 'icon'?: string; /** */ 'tone'?: string; /** Позиция в списке (с 1). */ 'index'?: number; /** Сколько в списке — показывает ↑↓ и «1 из N». */ 'total'?: number; /** Без переключателя режимов. */ 'no-modes'?: boolean; /** В режиме side ужимать страницу (pz-app-shell сдвигает контент). */ 'push'?: boolean; /** Ширина в режиме side. */ 'width'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzDialogAttributes { /** */ 'open'?: boolean; /** */ 'title'?: string; /** */ 'text'?: string; /** Плитка слева от заголовка. */ 'icon'?: string; /** */ 'tone'?: string; /** 400 / 480 / 720. */ 'size'?: 'sm' | 'md' | 'lg'; /** Не закрывать по Esc и клику мимо. */ 'persistent'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzSheetAttributes { /** */ 'open'?: boolean; /** */ 'title'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzPageHeaderAttributes { /** */ 'title'?: string; /** */ 'subtitle'?: string; /** ИИ-строка (бриф) со значком auto_awesome — вместо подзаголовка. */ 'ai'?: string; /** Плитка раздела. */ 'icon'?: string; /** */ 'tone'?: string; /** */ 'color'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzAppShellAttributes { /** Рельс 76 px. */ 'collapsed'?: boolean; /** Без своей земли (если она уже на body.pz-app). */ 'no-ground'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzNavItemAttributes { /** */ 'icon'?: string; /** Значок в плитке (для тем и пространств). */ 'tile'?: string; /** Цвет плитки. */ 'color'?: string; /** */ 'tone'?: string; /** */ 'href'?: string; /** */ 'active'?: boolean; /** */ 'count'?: string; /** hot — ждут моего шага. */ 'count-tone'?: 'plain' | 'blue' | 'hot' | 'mute'; /** Тихий пункт «+ Тема». */ 'add'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzTabbarAttributes { /** Показывать и на широком экране, в потоке (для витрины). */ 'always'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzAiBlockAttributes { /** */ 'title'?: string; /** */ 'icon'?: string; /** Пилюля справа: «Готово к выкатке», «Нужен ответ». */ 'verdict'?: string; /** */ 'verdict-tone'?: 'ok' | 'warn' | 'danger'; /** */ 'compact'?: boolean; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } export interface PzChatAttributes { /** */ 'title'?: string; class?: string; id?: string; slot?: string; style?: string; [key: `data-${string}`]: string | undefined; } declare global { interface HTMLElementTagNameMap { 'pz-icon': HTMLElement & PzIconAttributes; 'pz-button': HTMLElement & PzButtonAttributes; 'pz-icon-button': HTMLElement & PzIconButtonAttributes; 'pz-icon-group': HTMLElement & PzIconGroupAttributes; 'pz-field': HTMLElement & PzFieldAttributes; 'pz-checkbox': HTMLElement & PzCheckboxAttributes; 'pz-toggle': HTMLElement & PzToggleAttributes; 'pz-segmented': HTMLElement & PzSegmentedAttributes; 'pz-chip': HTMLElement & PzChipAttributes; 'pz-badge': HTMLElement & PzBadgeAttributes; 'pz-counter': HTMLElement & PzCounterAttributes; 'pz-kbd': HTMLElement & PzKbdAttributes; 'pz-avatar': HTMLElement & PzAvatarAttributes; 'pz-tile': HTMLElement & PzTileAttributes; 'pz-tooltip': HTMLElement & PzTooltipAttributes; 'pz-spinner': HTMLElement & PzSpinnerAttributes; 'pz-skeleton': HTMLElement & PzSkeletonAttributes; 'pz-card': HTMLElement & PzCardAttributes; 'pz-param-pill': HTMLElement & PzParamPillAttributes; 'pz-dropdown': HTMLElement & PzDropdownAttributes; 'pz-menu': HTMLElement & PzMenuAttributes; 'pz-calendar': HTMLElement & PzCalendarAttributes; 'pz-list-row': HTMLElement & PzListRowAttributes; 'pz-stepper': HTMLElement & PzStepperAttributes; 'pz-attachment': HTMLElement & PzAttachmentAttributes; 'pz-setting-row': HTMLElement & PzSettingRowAttributes; 'pz-toast': HTMLElement & PzToastAttributes; 'pz-empty': HTMLElement & PzEmptyAttributes; 'pz-drawer': HTMLElement & PzDrawerAttributes; 'pz-dialog': HTMLElement & PzDialogAttributes; 'pz-sheet': HTMLElement & PzSheetAttributes; 'pz-page-header': HTMLElement & PzPageHeaderAttributes; 'pz-app-shell': HTMLElement & PzAppShellAttributes; 'pz-nav-item': HTMLElement & PzNavItemAttributes; 'pz-tabbar': HTMLElement & PzTabbarAttributes; 'pz-ai-block': HTMLElement & PzAiBlockAttributes; 'pz-chat': HTMLElement & PzChatAttributes; } } /* React 19: declare module "react" { namespace JSX { interface IntrinsicElements extends PulseIntrinsicElements {} } } */ export interface PulseIntrinsicElements { 'pz-icon': PzIconAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-button': PzButtonAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-icon-button': PzIconButtonAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-icon-group': PzIconGroupAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-field': PzFieldAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-checkbox': PzCheckboxAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-toggle': PzToggleAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-segmented': PzSegmentedAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-chip': PzChipAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-badge': PzBadgeAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-counter': PzCounterAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-kbd': PzKbdAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-avatar': PzAvatarAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-tile': PzTileAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-tooltip': PzTooltipAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-spinner': PzSpinnerAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-skeleton': PzSkeletonAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-card': PzCardAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-param-pill': PzParamPillAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-dropdown': PzDropdownAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-menu': PzMenuAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-calendar': PzCalendarAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-list-row': PzListRowAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-stepper': PzStepperAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-attachment': PzAttachmentAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-setting-row': PzSettingRowAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-toast': PzToastAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-empty': PzEmptyAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-drawer': PzDrawerAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-dialog': PzDialogAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-sheet': PzSheetAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-page-header': PzPageHeaderAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-app-shell': PzAppShellAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-nav-item': PzNavItemAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-tabbar': PzTabbarAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-ai-block': PzAiBlockAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; 'pz-chat': PzChatAttributes & { children?: unknown; ref?: unknown; [key: `on${string}`]: unknown }; } /* Svelte 5: declare module "svelte/elements" { interface SvelteHTMLElements extends PulseIntrinsicElements {} } */ export {};