import * as React from 'react'; import { BookingApi } from '../booking-ui/api'; import type { Booking } from '../booking-ui/types'; export interface SeriesOccurrence { id: number; reference: string; series_occurrence_key: string; series_is_exception: number; starts_at: string; ends_at: string; status: string; payment_status: string; final_amount: number; currency: string; } export interface Series { id: number; resource_name?: string; customer_name?: string; created_by_name?: string; occurrence_count?: number; season_id: number | null; status: string; parent_series_id: number | null; resource_id: number; recurrence_type: string; recurrence_interval: number; starts_on: string; ends_on: string; local_start_time: string; duration_seconds: number; timezone_id: string; created_by_user_id: number; created_at: string; template: Record; skipped_dates: { date: string; reason: string; }[]; occurrences: SeriesOccurrence[]; } interface PreviewRow { date: string; starts_at?: string; ends_at?: string; resource_name?: string; status?: string; message?: string; booking_id?: number; conflicts?: { id: number; reference: string; customer: string; starts_at: string; ends_at: string; }[]; warnings?: Record; price?: { final_amount: number; currency: string; } | null; old_final_amount?: number; financial?: { calculated_fee: number; currency: string; refund_due: number; outstanding_amount: number; }; } interface Preview { total: number; available?: number; conflicts?: number; invalid?: number; preview_token: string; occurrences: PreviewRow[]; } export declare function SeriesPreview(props: { preview: Preview; }): React.JSX.Element; export declare function RecurringControls(props: { api: BookingApi; booking: Record; existing?: Booking; ready: boolean; onSaved: (b: Booking) => void; }): React.JSX.Element; export declare function RecurringBookings(props: { api: BookingApi; refresh: number; onEdit: (b: Booking) => void; }): React.JSX.Element;