import type { h } from 'vue'; import type { DialogProps } from './Dialog.vue'; import Deferred from './utils/Deferred'; export interface Result { isConfirmed?: boolean; isCanceled?: boolean; } export interface ActiveDialog extends DialogProps { deferred?: Deferred; onConfirm?: () => void; onCancel?: () => void; slots?: Record; } export default function useDialog(): { active: { readonly deferred?: { readonly promise: Promise<{ readonly isConfirmed?: boolean | undefined; readonly isCanceled?: boolean | undefined; }>; readonly reject: (value: Result | PromiseLike) => void; readonly resolve: (value: Result | PromiseLike) => void; } | undefined; readonly onConfirm?: (() => void) | undefined; readonly onCancel?: (() => void) | undefined; readonly slots?: { readonly [x: string]: typeof h; } | undefined; readonly open?: boolean | undefined; readonly disabled?: boolean | undefined; readonly dangerZone?: boolean | undefined; readonly header?: string | undefined; readonly description?: string | undefined; readonly cancelText?: string | undefined; readonly confirmText?: string | undefined; readonly alert?: boolean | undefined; readonly status?: import("./index.js").StatusSeverity | undefined; } | undefined; open: (dialog: Omit) => Promise | undefined; close: () => void; };