type Id = number | string;

export type VariantColor =
  | 'success'
  | 'error'
  | 'warning'
  | 'info'
  | 'primary'
  | 'dark'
  | 'publish';

export type Position =
  | 'top-right'
  | 'top-center'
  | 'top-left'
  | 'bottom-right'
  | 'bottom-center'
  | 'bottom-left';

type ToastOptions = {
  title: string;
  description?: string;
  variantColor: VariantColor;
  id?: Id;
  isClosable?: boolean;
  position?: Position;
  duration?: number;
};

export type ShowToast = (options: ToastOptions) => Promise<Id>;
