import { AccessibilityPropsType, IAccessibilityPropTypes } from '@utils/accessibility-helper'; import React from 'react'; import { StyleProp, ViewStyle } from 'react-native'; import { BlockButtonProps } from '../blockButton/interface'; export interface AbstractDialogButtonType extends BlockButtonProps { callback?: (...args: any[]) => any; } export interface BaseDialogPropsType extends AccessibilityPropsType { visible: boolean; cancelable?: boolean; title?: string; titleIcon?: React.ReactNode; titleIconStyle?: StyleProp; colorDepth?: 'base' | 'low'; canDismiss?: boolean; buttons?: Array; onModalHide?: () => void; onModalShow?: () => void; onDismiss?: () => void; accessible?: IAccessibilityPropTypes['accessible']; accessibilityLabel?: IAccessibilityPropTypes['accessibilityLabel']; layerDismissAccessibilityHint?: IAccessibilityPropTypes['accessibilityHint']; hasShade?: boolean; showTitle?: boolean; showButton?: boolean; children?: React.ReactNode; } export interface CommonDialogPropsType extends BaseDialogPropsType { contentText?: string; showCheckbox?: boolean; checkboxData?: { checked?: boolean; text?: string; accessibilityLabel?: IAccessibilityPropTypes['accessibilityLabel']; accessibilityHint?: IAccessibilityPropTypes['accessibilityHint']; }; onCheckboxChange?: (checked: boolean) => void; } export declare type ActionCustomDialogPropsType = Omit; export interface MessageDialogPropsType extends ActionCustomDialogPropsType { contentText?: string; label?: string; checkboxChecked?: boolean; onCheckboxChange?: (checked: boolean) => void; checkboxAccessibilityLabel?: IAccessibilityPropTypes['accessibilityLabel']; checkboxAccessibilityHint?: IAccessibilityPropTypes['accessibilityHint']; } export interface InputDialogPropsType extends ActionCustomDialogPropsType { placeholder?: string; defaultValue?: string; inputType?: 'normal' | 'password'; onChangeText?: (text: string) => void; } export interface CustomDialogPropsType { visible: boolean; title?: string; colorDepth?: 'base' | 'low'; onDismiss?: () => void; canDismiss?: boolean; hasShade?: boolean; onModalShow?: () => void; onModalHide?: () => void; children?: React.ReactNode; accessible?: boolean; } export interface PickerColumn { title?: string; options: string[]; defaultValue?: string; unit?: string; } export interface PickerDialogPropsType extends Omit { columns: PickerColumn[]; colorType?: import('../../styles/Styles').ColorType; onChange?: (values: string[], columnIndex: number) => void; onConfirm?: (values: string[]) => void; } export declare type AbstractDialogPropsType = CommonDialogPropsType;