export declare enum DialogFooterAlignment { Left = 1, Center = 2, Right = 3 } export interface DialogOptions { title: string; body: string | HTMLElement; submitable?: boolean; closable?: boolean; cancelable?: boolean; submitOnEnter?: boolean; width?: number | string; height?: number | string; arrangeParents?: boolean; submitButtonText?: string; cancelButtonText?: string; footerAlignment?: DialogFooterAlignment; /** * Contains the key for for Google's reCAPTCHA. * If this option is set, the Submit button will have special attributes * (data-sitekey, data-callback) and CSS class 'g-recaptcha' * */ recaptchaSiteKey?: string; beforeOpen?: (dialog?: Dialog) => void; onShow?: (dialog?: Dialog) => void; onSubmit?: (dialog?: Dialog, token?: string) => boolean | void; onCancel?: (dialog?: Dialog) => void; onDestroy?: (dialog?: Dialog) => void; /** This function is called on each 'input' event in any element inside the form */ onInput?: (dialog: Dialog) => void; } export interface ProgressDialogOptions { title: string; content?: string; determinated?: boolean; beforeOpen?: (dialog: Dialog) => void; onShow?: (dialog: Dialog) => void; onSubmit?: (dialog: Dialog) => void; width?: number | string; height?: number | string; onDestroy?: (dialog: Dialog) => void; } export interface Dialog { submit(): void; cancel(): void; close(): void; getData(): any; getRootElement(): HTMLElement; getSubmitButtonElement(): HTMLButtonElement | null; getCancelButtonElement(): HTMLButtonElement | null; disableButtons(): any; enableButtons(): any; showAlert(text: string, reason?: string, replace?: boolean): any; clearAlert(): any; } export interface ProgressDialog extends Dialog { updateContent(content: string): any; updateProgress(progress: number): any; } export interface DialogSet { getCurrent(): Dialog; openNext(data?: any): Dialog; openPrev(data?: any): Dialog; open(page: number, data?: any): Dialog; close(): void; } export interface DialogService { openConfirm(title?: string, content?: string): Promise; openConfirm(title?: string, content?: string, callback?: (result: boolean) => void): void; openConfirm(title?: string, content?: string, callback?: (result: boolean) => void): Promise | void; openPrompt(title?: string, content?: string, defVal?: string): Promise; openPrompt(title?: string, content?: string, defVal?: string, callback?: (result: string) => void): void; openPrompt(title?: string, content?: string, defVal?: string, callback?: (result: string) => void): Promise | void; openProgress(options: ProgressDialogOptions): ProgressDialog; open(options: DialogOptions, data?: any): Dialog; createSet(options: DialogOptions[]): DialogSet; getAllDialogs(): Dialog[]; closeAllDialogs(): void; }