export interface Activity {
    id: number;
    title: string;
    description?: string;
    coverImage?: string;
    startTime: string; // ISO 8601
    endTime: string;
    registrationDeadline?: string;
    location: string;
    maxParticipants: number;
    currentParticipants: number;
    status: number; // 0:Draft, 1:Published, 2:Ongoing, 3:Ended, 4:Canceled
    category?: string;
    adminId: number;
    adminName?: string;
    averageRating?: number;
    reviewCount?: number;
    isRegistered?: boolean;
    createdAt?: string;
}

export interface ActivitySearchParams {
    current?: number;
    size?: number;
    status?: number;
    keyword?: string;
    category?: string;
    startDate?: string;
    endDate?: string;
}

export interface ActivityListResponse {
    records: Activity[];
    total: number;
    pages: number;
    current: number;
    size: number;
}
