export interface CreateCruiseInput { slug: string; name: string; cruiseType: "ocean" | "river" | "expedition" | "coastal"; nights: number; lineSupplierId?: string | null; defaultShipId?: string | null; embarkPortFacilityId?: string | null; disembarkPortFacilityId?: string | null; description?: string | null; shortDescription?: string | null; highlights?: string[]; inclusionsHtml?: string | null; exclusionsHtml?: string | null; regions?: string[]; themes?: string[]; heroImageUrl?: string | null; mapImageUrl?: string | null; status?: "draft" | "awaiting_review" | "live" | "archived"; } export type UpdateCruiseInput = Partial; /** * Mutation set for self-managed cruises: create / update / archive / * recompute aggregates. Writes against external cruises return 409 from * the server; this hook surfaces those as VoyantApiError. */ export declare function useCruiseMutation(): { create: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; cruiseType: "ocean" | "river" | "expedition" | "coastal"; lineSupplierId: string | null; defaultShipId: string | null; nights: number; embarkPortFacilityId: string | null; disembarkPortFacilityId: string | null; description: string | null; shortDescription: string | null; highlights: string[] | null; inclusionsHtml: string | null; exclusionsHtml: string | null; regions: string[] | null; themes: string[] | null; heroImageUrl: string | null; mapImageUrl: string | null; status: "draft" | "awaiting_review" | "live" | "archived"; lowestPriceCached: string | null; lowestPriceCurrencyCached: string | null; earliestDepartureCached: string | null; latestDepartureCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, CreateCruiseInput, unknown>; update: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; cruiseType: "ocean" | "river" | "expedition" | "coastal"; lineSupplierId: string | null; defaultShipId: string | null; nights: number; embarkPortFacilityId: string | null; disembarkPortFacilityId: string | null; description: string | null; shortDescription: string | null; highlights: string[] | null; inclusionsHtml: string | null; exclusionsHtml: string | null; regions: string[] | null; themes: string[] | null; heroImageUrl: string | null; mapImageUrl: string | null; status: "draft" | "awaiting_review" | "live" | "archived"; lowestPriceCached: string | null; lowestPriceCurrencyCached: string | null; earliestDepartureCached: string | null; latestDepartureCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, { key: string; input: UpdateCruiseInput; }, unknown>; archive: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; cruiseType: "ocean" | "river" | "expedition" | "coastal"; lineSupplierId: string | null; defaultShipId: string | null; nights: number; embarkPortFacilityId: string | null; disembarkPortFacilityId: string | null; description: string | null; shortDescription: string | null; highlights: string[] | null; inclusionsHtml: string | null; exclusionsHtml: string | null; regions: string[] | null; themes: string[] | null; heroImageUrl: string | null; mapImageUrl: string | null; status: "draft" | "awaiting_review" | "live" | "archived"; lowestPriceCached: string | null; lowestPriceCurrencyCached: string | null; earliestDepartureCached: string | null; latestDepartureCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, string, unknown>; recomputeAggregates: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; cruiseType: "ocean" | "river" | "expedition" | "coastal"; lineSupplierId: string | null; defaultShipId: string | null; nights: number; embarkPortFacilityId: string | null; disembarkPortFacilityId: string | null; description: string | null; shortDescription: string | null; highlights: string[] | null; inclusionsHtml: string | null; exclusionsHtml: string | null; regions: string[] | null; themes: string[] | null; heroImageUrl: string | null; mapImageUrl: string | null; status: "draft" | "awaiting_review" | "live" | "archived"; lowestPriceCached: string | null; lowestPriceCurrencyCached: string | null; earliestDepartureCached: string | null; latestDepartureCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, string, unknown>; };