import { default as React } from 'react'; export type CalendarViewMode = "month" | "week" | "day" | "gantt" | "list"; export type ActivityStatus = "created" | "scheduled" | "started" | "completed" | "paused" | "stopped" | "disabled" | "error" | "failed" | "crashed"; export type ActivityType = "command" | "script" | "reserve" | "metadata" | "note" | "contact" | "eclipse" | "pass"; export interface CalendarEvent { /** Unique identifier */ id: string; /** Event title */ title: string; /** Start time */ start: Date; /** End time (optional for metadata/point events) */ end?: Date; /** Activity type */ type: ActivityType; /** Execution status */ status?: ActivityStatus; /** Timeline this event belongs to */ timeline?: string; /** Description / notes */ description?: string; /** Command string (for command type) */ command?: string; /** Script path (for script type) */ script?: string; /** Metadata key-value pairs */ metadata?: Record; /** Whether this event is recurring */ recurring?: boolean; /** Recurrence pattern */ recurrenceRule?: string; /** Color override */ color?: string; /** Whether the event is editable */ editable?: boolean; } export interface CalendarTimeline { /** Unique timeline ID */ id: string; /** Display name */ name: string; /** Color for this timeline */ color?: string; /** Whether the timeline is active */ active?: boolean; } export interface MissionCalendarProps { /** Calendar events */ events: CalendarEvent[]; /** Available timelines */ timelines?: CalendarTimeline[]; /** Initial view mode (default: 'month') */ defaultView?: CalendarViewMode; /** Initial date to display */ initialDate?: Date; /** Height (default: 600) */ height?: number | string; /** Title */ title?: string; /** Show mini calendar sidebar (default: true) */ showSidebar?: boolean; /** Show timeline selector (default: true) */ showTimelines?: boolean; /** Show event type filter (default: true) */ showFilters?: boolean; /** Show create button (default: true) */ showCreate?: boolean; /** Week starts on Monday (default: true for ops) */ weekStartsMonday?: boolean; /** Called when an event is clicked */ onEventClick?: (event: CalendarEvent) => void; /** Called when creating a new event */ onEventCreate?: (event: Partial) => void; /** Called when navigating to a day (e.g., to open Timeline Gantt view) */ onDayDrillDown?: (date: Date, events: CalendarEvent[]) => void; /** CSS class */ className?: string; } export declare const MissionCalendar: React.NamedExoticComponent; export default MissionCalendar;