/** * Manages ordered insertion of registered child elements within a single layout slot element. * * Each child is registered under a string key with a numeric weight. The resolved DOM order is: * configured keys first (in the order passed to `setOrder`), then the remaining keys by ascending * weight, ties broken by registration order. */ export declare class DomSlot { #private; /** * @param {HTMLElement} parent The slot container element. * @param {object} [options] Slot options. * @param {string} [options.itemClass=''] Class added to every registered element. */ constructor(parent: HTMLElement, { itemClass }?: { itemClass?: string; }); /** * Returns the slot container element. * * @returns {HTMLElement} The container element. */ getElement(): HTMLElement; /** * Checks whether a key is registered. * * @param {string} key The registration key. * @returns {boolean} `true` when the key is registered. */ has(key: string): boolean; /** * Registers (or replaces) an element under a key and re-applies the slot order. * * @param {string} key The registration key. * @param {HTMLElement} element The element to insert. * @param {number} [weight=0] The ordering weight (lower comes first). * @returns {void} */ add(key: string, element: HTMLElement, weight?: number): void; /** * Unregisters a key and detaches its element from the DOM. * * @param {string} key The registration key. * @returns {void} */ remove(key: string): void; /** * Sets the user-configured key order and re-applies it. * * @param {string[]} order The ordered list of keys. * @returns {void} */ setOrder(order: string[]): void; /** * Returns the current resolved key order. * * @returns {string[]} The ordered keys. */ getOrder(): string[]; /** * Removes all registered elements and clears the registry. * * @returns {void} */ clear(): void; }