import type { Component } from 'vue'; import ReactiveStore from '../reactive-store'; import type { IModalAction, ModalSize } from '.'; import Translator from '../i18n'; interface IState { title: string; body: string | Component; props: Record | null; actions: IModalAction[]; size: ModalSize; } interface IComponentDialogInput = Record> { component: Component; title?: string; props?: T; actions?: IModalAction[]; size?: ModalSize; } export default class ModalDialog extends ReactiveStore { protected trans: Translator; constructor(trans?: Translator); private onActionTrigger; protected getInitialState(): IState; resetState(state?: IState): void; confirm(body: string, title?: string): Promise; component = Record>(args: IComponentDialogInput

): Promise; closeWithAnswer(actionIndex?: unknown): void; get title(): string; get body(): string | Component; get props(): Record | null; get actions(): IModalAction[]; get size(): ModalSize; } export {};