import { JSXBase } from '../../stencil-public-runtime'; import { AnimationBuilder, Mode, TextFieldTypes } from '../../interface'; import { IonicSafeString } from '../../utils/sanitization'; export interface AlertOptions { header?: string; subHeader?: string; message?: string | IonicSafeString; cssClass?: string | string[]; inputs?: AlertInput[]; buttons?: (AlertButton | string)[]; backdropDismiss?: boolean; translucent?: boolean; animated?: boolean; htmlAttributes?: AlertAttributes; mode?: Mode; keyboardClose?: boolean; id?: string; enterAnimation?: AnimationBuilder; leaveAnimation?: AnimationBuilder; } export interface AlertAttributes extends JSXBase.HTMLAttributes { } export interface AlertInput { type?: TextFieldTypes | 'checkbox' | 'radio' | 'textarea'; name?: string; placeholder?: string; value?: any; label?: string; checked?: boolean; disabled?: boolean; id?: string; handler?: (input: AlertInput) => void; min?: string | number; max?: string | number; cssClass?: string | string[]; attributes?: AlertInputAttributes | AlertTextareaAttributes; tabindex?: number; } export interface AlertTextareaAttributes extends JSXBase.TextareaHTMLAttributes { } export interface AlertInputAttributes extends JSXBase.InputHTMLAttributes { } export interface AlertButton { text: string; role?: 'cancel' | 'destructive' | string; cssClass?: string | string[]; id?: string; handler?: (value: any) => boolean | void | { [key: string]: any; }; }