import type { Dispatch, JSX, SetStateAction } from 'react' export enum AnimationStateEnum { unmounted = 'unmounted', hidden = 'hidden', visible = 'visible', } export type AnimationState = keyof typeof AnimationStateEnum export type ModalProps = { onAnimationComplete?: () => void title?: string subtitle?: string withActions?: boolean hideHeader?: boolean } & ( | { trigger: JSX.Element; isOpen?: never; onToggle?: never } | { trigger?: never isOpen: boolean onToggle: (open: boolean) => void } ) export type InnerModalProps = Omit & { animation: AnimationState setAnimation: Dispatch> }