import { UITagsEnum } from '../../../constants/UITags.enum'; import { IEventBus } from '../../../lib/sdkDappUi'; import { CreateEventBusUIElementType } from '../../../utils/ComponentFactory'; export declare abstract class UIBaseManager | null, TEventEnum extends string> { protected eventBus: IEventBus | null; protected uiElement: TElement | null; protected isCreatingElement: boolean; protected anchor?: HTMLElement; protected uiTag: UITagsEnum; protected uiDataUpdateEvent: TEventEnum; protected eventHandlers: Map; protected unsubscribeFunctions: Map void)[]>; protected abstract initialData: TData; protected data: TData; constructor({ uiDataUpdateEvent, uiTag }: { uiTag: UITagsEnum; uiDataUpdateEvent: TEventEnum; }); init(anchor?: HTMLElement): Promise; updateData(newData: Partial): void; subscribeToEventBus(event: TEventEnum, callback: Function): void; notifyDataUpdate(): void; clearEventHandlers(events?: TEventEnum[]): void; destroy(): void; protected getInitialData(): TData; getEventHandlers(event: TEventEnum): Function[]; protected resetData(): void; protected abstract setupEventListeners(): Promise; private createUIElement; }