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 className?: string } & ( | { trigger: JSX.Element; isOpen?: never; onToggle?: never } | { trigger?: never isOpen: boolean onToggle: (open: boolean) => void } ) export type InnerModalProps = Omit & { animation: AnimationState setAnimation: Dispatch> }