import { BaseElementAttributesTagNameMap, Child, PrefixedElementTag, SpecialAttributes } from "../types.js"; import { computed, signal } from "alien-signals"; //#region src/alien-signals/types.d.ts type Signal = ReturnType>; type Computed = ReturnType>; type MaybeReactive = T | Signal | Computed; type MayBeReactiveObject = { [K in keyof T]: MaybeReactive }; type ReactiveChild = Signal | Signal | Computed | Computed; type Children = Child | Child[] | ReactiveChild; type ClassSignalAttribute = MaybeReactive | MaybeReactive | { [className: string]: MaybeReactive; }; type StyleSignalAttribute = MaybeReactive | Partial>; type DataSignalAttribute = MayBeReactiveObject; type InnerHTMLSignalAttribute = MaybeReactive; type SpecialAttributesSignal = SpecialAttributes; type WithChildren = T & { /** * Adds child nodes to the element. When this attribute is used, `innerHTML` must not be provided. */ children?: SpecialAttributesSignal['children']; innerHTML?: never; }; type WithInnerHTML = T & { /** * Sets the innerHTML of the element. When this attribute is used, `children` must not be provided. * Attention: Using `innerHTML` can expose your application to security risks like Cross-Site Scripting (XSS) attacks if the content is not properly sanitized. */ innerHTML?: InnerHTMLSignalAttribute; children?: never; }; type ElementAttributesTagNameMap = { [T in PrefixedElementTag]: Partial & SpecialAttributesSignal & Readonly>> }; //#endregion export { Children, Computed, ElementAttributesTagNameMap, WithChildren, WithInnerHTML }; //# sourceMappingURL=types.d.ts.map