import type { ReactNode } from 'react'; interface IMessageView { /** * Main title text */ title: string; /** * Description text */ subTitle?: string | ReactNode; /** * Set header component */ headerComponent?: ReactNode; /** * Set image when headerComponent is set */ imgUri?: string | number; /** * Custom icon */ svgIcon?: ReactNode; /** * Image height */ imgHeight?: number; /** * Set custom component between message view */ innerComponent?: ReactNode; } export interface WithPrimaryButton extends IMessageView { labelSecondaryBtn?: never; handleSecondaryBtn?: never; withoutButton?: never; /** * Primary button label text */ labelPrimaryBtn?: string; /** * Handle click button */ handlePrimaryBtn: () => void; } export interface WithSecondaryButton extends IMessageView { withoutButton?: never; labelPrimaryBtn?: string; handlePrimaryBtn: () => void; /** * Secondary button label text */ labelSecondaryBtn?: string; /** * Required handleSecondaryBtn when labelSecondaryBtn is set */ handleSecondaryBtn: () => void; } export interface WithoutButton extends IMessageView { labelPrimaryBtn?: never; handlePrimaryBtn?: never; labelSecondaryBtn?: never; handleSecondaryBtn?: never; withoutButton?: boolean; } export {};