export interface Park { id: string; name: string; shortName: string; chain: "sixflags" | string; slug: string; region: "Northeast" | "Southeast" | "Midwest" | "Texas & South" | "West & International"; location: { lat: number; lng: number; city: string; state: string; }; timezone: string; website: string; } export interface DayStatus { day: number; isOpen: boolean; hoursLabel?: string; } export interface MonthCalendar { parkId: string; year: number; month: number; days: DayStatus[]; } export interface ScraperAdapter { readonly chain: string; getMonthCalendar( park: Park, year: number, month: number ): Promise; }