import { type BookingRecord } from "../schemas.js"; type BookingStatus = BookingRecord["status"]; export interface UpdateBookingStatusInput { /** * Current status — required for client-side dispatch to the right verb * endpoint. The dialog has this in its props; pass it through. */ currentStatus: BookingStatus; status: BookingStatus; note?: string | null; /** * When true and `status === "confirmed"`, downstream subscribers * (auto-dispatch notifications, document bundle email) skip * sending. Lets the operator confirm a booking silently. */ suppressNotifications?: boolean; /** * When true and the status change falls through to override-status, keep * the audit event but skip verb-specific lifecycle events. */ suppressLifecycleEvents?: boolean; } export declare function useBookingStatusMutation(bookingId: string): import("@tanstack/react-query").UseMutationResult<{ id: string; bookingNumber: string; status: "draft" | "expired" | "cancelled" | "on_hold" | "awaiting_payment" | "confirmed" | "in_progress" | "completed"; personId: string | null; organizationId: string | null; sellCurrency: string; sellAmountCents: number | null; costAmountCents: number | null; marginPercent: number | null; startDate: string | null; endDate: string | null; pax: number | null; internalNotes: string | null; createdAt: string; updatedAt: string; startsAt?: string | null | undefined; endsAt?: string | null | undefined; items?: { id: string; title: string; itemType: string; productId: string | null; productName?: string | null | undefined; startsAt?: string | null | undefined; endsAt?: string | null | undefined; }[] | undefined; communicationLanguage?: string | null | undefined; contactFirstName?: string | null | undefined; contactLastName?: string | null | undefined; contactPartyType?: "individual" | "company" | null | undefined; contactTaxId?: string | null | undefined; contactEmail?: string | null | undefined; contactPhone?: string | null | undefined; contactPreferredLanguage?: string | null | undefined; contactCountry?: string | null | undefined; contactRegion?: string | null | undefined; contactCity?: string | null | undefined; contactAddressLine1?: string | null | undefined; contactAddressLine2?: string | null | undefined; contactPostalCode?: string | null | undefined; customerPaymentPolicy?: { deposit: { kind: "none" | "percent" | "fixed_cents"; percent?: number | undefined; amountCents?: number | undefined; }; minDaysBeforeDepartureForDeposit: number; balanceDueDaysBeforeDeparture: number; balanceDueMinDaysFromNow: number; } | null | undefined; priceOverride?: { isManual: true; originalAmountCents: number | null; overriddenAmountCents: number; currency: string; reason: string; overriddenBy: string; overriddenAt: string; } | null | undefined; }, Error, UpdateBookingStatusInput, unknown>; export interface UpdateBookingStatusByIdInput extends UpdateBookingStatusInput { bookingId: string; } /** * Variant of `useBookingStatusMutation` that accepts the booking id at call * time instead of at hook-setup time. Used by flows that create a booking * and immediately transition its status in the same handler — the id only * exists after the create returns, so the per-booking hook shape doesn't * fit. */ export declare function useBookingStatusByIdMutation(): import("@tanstack/react-query").UseMutationResult<{ id: string; bookingNumber: string; status: "draft" | "expired" | "cancelled" | "on_hold" | "awaiting_payment" | "confirmed" | "in_progress" | "completed"; personId: string | null; organizationId: string | null; sellCurrency: string; sellAmountCents: number | null; costAmountCents: number | null; marginPercent: number | null; startDate: string | null; endDate: string | null; pax: number | null; internalNotes: string | null; createdAt: string; updatedAt: string; startsAt?: string | null | undefined; endsAt?: string | null | undefined; items?: { id: string; title: string; itemType: string; productId: string | null; productName?: string | null | undefined; startsAt?: string | null | undefined; endsAt?: string | null | undefined; }[] | undefined; communicationLanguage?: string | null | undefined; contactFirstName?: string | null | undefined; contactLastName?: string | null | undefined; contactPartyType?: "individual" | "company" | null | undefined; contactTaxId?: string | null | undefined; contactEmail?: string | null | undefined; contactPhone?: string | null | undefined; contactPreferredLanguage?: string | null | undefined; contactCountry?: string | null | undefined; contactRegion?: string | null | undefined; contactCity?: string | null | undefined; contactAddressLine1?: string | null | undefined; contactAddressLine2?: string | null | undefined; contactPostalCode?: string | null | undefined; customerPaymentPolicy?: { deposit: { kind: "none" | "percent" | "fixed_cents"; percent?: number | undefined; amountCents?: number | undefined; }; minDaysBeforeDepartureForDeposit: number; balanceDueDaysBeforeDeparture: number; balanceDueMinDaysFromNow: number; } | null | undefined; priceOverride?: { isManual: true; originalAmountCents: number | null; overriddenAmountCents: number; currency: string; reason: string; overriddenBy: string; overriddenAt: string; } | null | undefined; }, Error, UpdateBookingStatusByIdInput, unknown>; export {};