interface FormItemProps {
  id?: number;
  activityName: string;
  activityType: number | undefined;
  activityDesc?: string;
  startTime: string;
  endTime: string;
  status: number;
  discountValue: number | null;
  minAmount: number | null;
  maxDiscount: number | null;
  applyScope: number;
  deviceScope: number;
  productScope: number;
  totalBudget: number | null;
  shopIds?: number[];
  deviceIds?: string[];
  productIds?: number[];
}

interface SearchFormProps {
  name?: string;
  type?: number;
  status?: number;
  page?: number;
  pageSize?: number;
}

interface ActivityDetail {
  id: number;
  activityName: string;
  activityType: number;
  activityDesc: string;
  startTime: string;
  endTime: string;
  status: number;
  discountValue: number;
  minAmount: number;
  maxDiscount: number;
  applyScope: number;
  deviceScope: number;
  productScope: number;
  totalBudget: number;
  usedBudget: number;
  creatorId: number;
  creatorName: string;
  createTime: string;
  updateTime: string;
  statusLabel: string;
  statusColor: string;
  typeLabel: string;
  applyScopeLabel: string;
  deviceScopeLabel: string;
  productScopeLabel: string;
  shopIds: number[];
  deviceIds: string[];
  productIds: number[];
}

export type { FormItemProps, SearchFormProps, ActivityDetail };
