import type { ReactNode } from 'react'; import type { Fn } from '../../../@aileron/declare/index.js'; import type { BackgroundComponent, BaseModal, ForegroundComponent, ManagedEntity, ModalBackground } from '../../../types/index.js'; type AbstractNodeProps = BaseModal & ManagedEntity; export declare abstract class AbstractNode { readonly id: number; readonly group?: string; readonly initiator: string; readonly title?: ReactNode; readonly subtitle?: ReactNode; readonly background?: ModalBackground; readonly dimmed: boolean; readonly duration: number; readonly manualDestroy: boolean; readonly closeOnBackdropClick: boolean; readonly ForegroundComponent?: ForegroundComponent; readonly BackgroundComponent?: BackgroundComponent; private __alive__; get alive(): boolean; private __visible__; get visible(): boolean; private __handleResolve__?; set handleResolve(handleResolve: Fn<[result: T | null]>); private __listeners__; constructor({ id, initiator, group, title, subtitle, background, dimmed, duration, manualDestroy, closeOnBackdropClick, handleResolve, ForegroundComponent, BackgroundComponent, }: AbstractNodeProps); abstract onClose(): void; abstract onConfirm(): void; protected onResolve(result: T | null): void; subscribe(listener: Fn): () => void; publish(): void; onDestroy(): void; onShow(): void; onHide(): void; } export {};