import type { RefObject } from "react"; import type { Root } from "react-dom/client"; import type { TCollectionItemDefaultCfg } from "../collection/index.d.mts"; import { CollectionItem } from "../collectionItem/index.d.mts"; /** * Factory. Служит инициализатором React-компонентов и содержит те же поля, что и `CollectionItem`, а также `root`, куда будет монтироваться компонент, и метод `unmount` — для размонтирования при необходимости. * При монтировании и размонтировании триггерит всплывающие события на документ, которые можно найти в `Collection.bubbles` * @module CollectionReactItem * @memberof CollectionItem * @param element{Element} передаваемый элемент DOM * @param selector{String} передаваемый селектор элемента * @param defaultCfg{Object=} конфигурация плагина по умолчанию * @example * import { CollectionReactItem } from "@delement/ui/plugins" * * class MyPlugin extends CollectionReactItem { * * constructor(el) { * super(el); * // console.debug(this.root, this.unmount); * } * * } */ declare class CollectionReactItem extends CollectionItem { root: Root; ref: RefObject; constructor(element: HTMLElement, selector?: string, defaultCfg?: T); /** * Callback, выполняющийся ДО НАЧАЛА монтирования компонента */ onBeforeMount(): void; /** * Callback, выполняющийся ПОСЛЕ размонтирования компонента */ onUnmount(): void; /** * Callback, выполняющийся ПОСЛЕ монтирования компонента */ onMount(): void; /** * Размонтирует компонент */ unmount(): void; } export { CollectionReactItem };