export type RouteEvent = { id: string; route_id: string; route_date: string; route_name: string | null; route_number: string | null; service_area: string; user_email: string | null; action: RouteEventAction; method: RouteEventActionMethod; reason: string | null; notes: string | null; changes: RouteEventChanges | null; created_at: string; }; export type RouteEventKind = "route_event_create" | "route_event_update" | "route_event_delete"; export interface RouteEventWithKind extends RouteEvent { kind: RouteEventKind; } export declare enum RouteEventAction { CREATE = "create", UPDATE = "update", DELETE = "delete", START = "start", COMPLETE = "complete" } export declare enum RouteEventActionMethod { MANUAL = "manual", SYSTEM = "system" } type RouteEventKeyTypeMap = { dispatch_time: string; hub_id: string; hub_name: string; num_appts: number; num_route_users: number; published_at: string; route_date: string; route_name: string; route_status: string; sequence_changed: boolean; vehicle_id: string; vehicle_kind_id: string; vehicle_kind_fuel_type: string; vehicle_kind_name: string; }; type RouteEventChangeValue = { from: T | null; to: T | null; } | null; type RouteEventChangeKeys = keyof RouteEventKeyTypeMap; export type RouteEventChanges = { [key in RouteEventChangeKeys]: RouteEventChangeValue; }; export {};