import { GridSize } from "@mui/material/Grid2";

export interface FormOption {
  label: string;
  id: string | number;
}

export interface Pill {
  label: string;
  color?: "success" | "error" | "warning" | "info" | "default";
  icon?: React.ReactElement | null;
}

export interface CardFieldBaseProps extends React.PropsWithChildren {
  formName: string;
  label: string;
  helperText?: string;
  isDisabled?: boolean;
  isReadable?: boolean;
  options?: FormOption[];
  required?: boolean;
  size?: GridSize;
  fallback?: string;
  fallbackPredicate?: (value: unknown) => boolean;
}
