import { LaravelDateTime, LaravelModel } from './Laravel'; import { View } from './View'; export interface Event { schedule_ids: number[]; view_ids: number[]; start: TDate; end: TDate; scheduled_views: ScheduledView[]; } export interface ScheduledView extends LaravelModel { id: number; schedule_id: number; view_id: number; payload?: unknown; } export interface TimeBy { id: number; scheduled_view_id: number; type: TType; } export interface TimeByDate extends TimeBy<'date'>, LaravelModel { ends_at: string; starts_at: string; } export interface TimeByWeek extends TimeBy<'weekly'>, LaravelModel { day: number; ends_at: string; starts_at: string; } export interface ScheduledViewWith> { scheduledView: ScheduledView; time: TTime; } export interface EventResponse { events: Event[]; views: View[]; guestMode: boolean; }