import type { ComponentType } from 'react';

export type TabType = 'overview' | 'attendees' | 'tickets' | 'email' | 'payments';

export type AttendeeStatusFilter = 'all' | 'pending' | 'confirmed' | 'checked_in' | 'cancelled';
export type TicketStatusFilter = 'all' | 'confirmed' | 'checked_in';
export type RecipientFilter = 'all' | 'confirmed' | 'pending' | 'checked_in';

export interface PrimaryAction {
  label: string;
  onClick: () => void;
  variant: 'outline' | 'primary';
  icon?: ComponentType<{ className?: string }>;
}

export interface AttendeeFormState {
  firstName: string;
  lastName: string;
  email: string;
  phone: string;
  adminNote: string;
}

export interface AddAtDoorFormState extends AttendeeFormState {
  autoCheckin: boolean;
}
