import { Binding } from "@akala/core"; /** * Creates a new HTML element. * @param {string} tagName - The name of the HTML element to create. * @param {ElementCreationOptions} [options] - Optional element creation options. * @returns {HTMLElement} The created HTML element. */ export declare function e(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K]; export declare function e(tagName: string, options?: ElementCreationOptions): HTMLElement; /** * Extends the target object with the provided values. * @param {object} target - The target object to extend. * @param {Partial} values - The values to extend the target object with. * @returns {object} The extended target object. */ export declare function s(target: T, values: Partial): T; /** * Gets or sets attributes on an element. * @param {Element} el - The element to get or set attributes on. * @param {string | string[] | Record} name - The attribute name(s) or a record of attribute names and values. * @param {string | null} [value] - The attribute value to set. * @returns {string | string[] | Element} The attribute value(s) or the element. */ export declare function a(el: T, name: string): string; export declare function a(el: T, name: string, value: string): T; export declare function a(el: T, record: Record): T; export declare function a(el: T, record: string[]): string[]; export declare function a(el: T, name: string | string[] | Record, value?: string | null): any; /** * Adds classes to an element. * @param {Element} el - The element to add classes to. * @param {...string} classes - The classes to add. * @returns {Element} The element with the added classes. */ export declare function c(el: T, ...classes: string[]): T; /** * Replaces the children of an element with the provided nodes or bindings. * @param {Element} el - The element to replace children of. * @param {...(Node | Binding)} children - The nodes or bindings to replace the children with. * @returns {Element} The element with the replaced children. */ export declare function content(el: T, ...children: (Node | Binding)[]): T; export declare namespace content { var p: (el: T, ...children: Node[]) => T; } /** * Creates a new text node. * @param {string | number | boolean | bigint} content - The content of the text node. * @returns {Text} The created text node. */ export declare function t(content: string | number | boolean | bigint): Text;