import { DialogProps } from '../dialog'; export type DynamicDialogCloseType = 'config-close' | 'dialog-close' | undefined; export interface DynamicDialogTemplates { /** * Custom header template. */ header?: any; /** * Custom footer template. */ footer?: any; } export interface DynamicDialogCloseOptions { /** * Custom data object */ data?: any; /** * Close type * @see DynamicDialogCloseType */ type: DynamicDialogCloseType; } export interface DynamicDialogOptions { /** * Dialog Props * @see DialogProps */ props?: DialogProps; /** * Dialog Slots * @see DynamicDialogTemplates */ templates?: DynamicDialogTemplates; /** * Custom data object */ data?: any; /** * Closes the dialog. * @see DynamicDialogCloseOptions */ onClose?(options?: DynamicDialogCloseOptions): void; /** * Optional */ [key: string]: any; } export interface DynamicDialogInstance { /** * Dynamic component for content template */ content: any; /** * Instance options * @see DynamicDialogOptions */ options: DynamicDialogOptions; /** * Custom data object */ data: any; /** * Closes the dialog. * @param {*} params - Parameters sent by the user to the root instance */ close: (params?: any) => void; }