export interface CreateShipInput { name: string; slug: string; shipType: "ocean" | "river" | "expedition" | "yacht" | "sailing" | "coastal"; lineSupplierId?: string | null; capacityGuests?: number | null; capacityCrew?: number | null; cabinCount?: number | null; deckCount?: number | null; lengthMeters?: string | null; cruisingSpeedKnots?: string | null; yearBuilt?: number | null; yearRefurbished?: number | null; imo?: string | null; description?: string | null; deckPlanUrl?: string | null; gallery?: string[]; amenities?: Record; isActive?: boolean; } export type UpdateShipInput = Partial; export interface UpsertDeckInput { name: string; level?: number | null; planImageUrl?: string | null; } export interface UpsertCabinCategoryInput { shipId: string; code: string; name: string; roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single"; description?: string | null; minOccupancy?: number; maxOccupancy: number; squareFeet?: string | null; wheelchairAccessible?: boolean; amenities?: string[]; images?: string[]; floorplanImages?: string[]; gradeCodes?: string[]; } export interface UpsertCabinInput { cabinNumber: string; deckId?: string | null; position?: string | null; connectsTo?: string | null; notes?: string | null; isActive?: boolean; } export declare function useShipMutation(): { create: import("@tanstack/react-query").UseMutationResult<{ id: string; lineSupplierId: string | null; name: string; slug: string; shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing"; capacityGuests: number | null; capacityCrew: number | null; cabinCount: number | null; deckCount: number | null; lengthMeters: string | null; cruisingSpeedKnots: string | null; yearBuilt: number | null; yearRefurbished: number | null; imo: string | null; description: string | null; deckPlanUrl: string | null; gallery: string[] | null; amenities: Record | null; externalRefs: Record | null; isActive: boolean; createdAt: string; updatedAt: string; }, Error, CreateShipInput, unknown>; update: import("@tanstack/react-query").UseMutationResult<{ id: string; lineSupplierId: string | null; name: string; slug: string; shipType: "ocean" | "river" | "expedition" | "coastal" | "yacht" | "sailing"; capacityGuests: number | null; capacityCrew: number | null; cabinCount: number | null; deckCount: number | null; lengthMeters: string | null; cruisingSpeedKnots: string | null; yearBuilt: number | null; yearRefurbished: number | null; imo: string | null; description: string | null; deckPlanUrl: string | null; gallery: string[] | null; amenities: Record | null; externalRefs: Record | null; isActive: boolean; createdAt: string; updatedAt: string; }, Error, { key: string; input: UpdateShipInput; }, unknown>; upsertDeck: import("@tanstack/react-query").UseMutationResult<{ id: string; shipId: string; name: string; level: number | null; planImageUrl: string | null; createdAt: string; updatedAt: string; }, Error, { key: string; input: UpsertDeckInput; }, unknown>; upsertCabinCategory: import("@tanstack/react-query").UseMutationResult<{ id: string; shipId: string; code: string; name: string; roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single"; description: string | null; minOccupancy: number; maxOccupancy: number; squareFeet: string | null; wheelchairAccessible: boolean; amenities: string[] | null; images: string[] | null; floorplanImages: string[] | null; gradeCodes: string[] | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, UpsertCabinCategoryInput, unknown>; updateCabinCategory: import("@tanstack/react-query").UseMutationResult<{ id: string; shipId: string; code: string; name: string; roomType: "inside" | "oceanview" | "balcony" | "suite" | "penthouse" | "single"; description: string | null; minOccupancy: number; maxOccupancy: number; squareFeet: string | null; wheelchairAccessible: boolean; amenities: string[] | null; images: string[] | null; floorplanImages: string[] | null; gradeCodes: string[] | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, { categoryId: string; input: Partial; }, unknown>; replaceCategoryCabins: import("@tanstack/react-query").UseMutationResult<{ id: string; categoryId: string; cabinNumber: string; deckId: string | null; position: string | null; connectsTo: string | null; notes: string | null; isActive: boolean; createdAt: string; updatedAt: string; }[], Error, { categoryId: string; cabins: UpsertCabinInput[]; }, unknown>; updateCabin: import("@tanstack/react-query").UseMutationResult<{ id: string; categoryId: string; cabinNumber: string; deckId: string | null; position: string | null; connectsTo: string | null; notes: string | null; isActive: boolean; createdAt: string; updatedAt: string; }, Error, { cabinId: string; input: Partial; }, unknown>; };