export interface CreateCharterProductInput { slug: string; name: string; lineSupplierId?: string | null; defaultYachtId?: string | null; description?: string | null; shortDescription?: string | null; heroImageUrl?: string | null; mapImageUrl?: string | null; regions?: string[]; themes?: string[]; status?: "draft" | "awaiting_review" | "live" | "archived"; defaultBookingModes?: Array<"per_suite" | "whole_yacht">; defaultMybaTemplateId?: string | null; defaultApaPercent?: string | null; } export type UpdateCharterProductInput = Partial; /** * Mutation set for self-managed charter products: create / update / archive / * recompute aggregates. Writes against external products return 409 from * the server; this hook surfaces those as VoyantApiError. */ export declare function useCharterProductMutation(): { create: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; lineSupplierId: string | null; defaultYachtId: string | null; description: string | null; shortDescription: string | null; heroImageUrl: string | null; mapImageUrl: string | null; regions: string[] | null; themes: string[] | null; status: "draft" | "awaiting_review" | "live" | "archived"; defaultBookingModes: ("per_suite" | "whole_yacht")[] | null; defaultMybaTemplateId: string | null; defaultApaPercent: string | null; lowestPriceCachedAmount: string | null; lowestPriceCachedCurrency: string | null; earliestVoyageCached: string | null; latestVoyageCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, CreateCharterProductInput, unknown>; update: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; lineSupplierId: string | null; defaultYachtId: string | null; description: string | null; shortDescription: string | null; heroImageUrl: string | null; mapImageUrl: string | null; regions: string[] | null; themes: string[] | null; status: "draft" | "awaiting_review" | "live" | "archived"; defaultBookingModes: ("per_suite" | "whole_yacht")[] | null; defaultMybaTemplateId: string | null; defaultApaPercent: string | null; lowestPriceCachedAmount: string | null; lowestPriceCachedCurrency: string | null; earliestVoyageCached: string | null; latestVoyageCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, { key: string; input: UpdateCharterProductInput; }, unknown>; archive: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; lineSupplierId: string | null; defaultYachtId: string | null; description: string | null; shortDescription: string | null; heroImageUrl: string | null; mapImageUrl: string | null; regions: string[] | null; themes: string[] | null; status: "draft" | "awaiting_review" | "live" | "archived"; defaultBookingModes: ("per_suite" | "whole_yacht")[] | null; defaultMybaTemplateId: string | null; defaultApaPercent: string | null; lowestPriceCachedAmount: string | null; lowestPriceCachedCurrency: string | null; earliestVoyageCached: string | null; latestVoyageCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, string, unknown>; recomputeAggregates: import("@tanstack/react-query").UseMutationResult<{ id: string; slug: string; name: string; lineSupplierId: string | null; defaultYachtId: string | null; description: string | null; shortDescription: string | null; heroImageUrl: string | null; mapImageUrl: string | null; regions: string[] | null; themes: string[] | null; status: "draft" | "awaiting_review" | "live" | "archived"; defaultBookingModes: ("per_suite" | "whole_yacht")[] | null; defaultMybaTemplateId: string | null; defaultApaPercent: string | null; lowestPriceCachedAmount: string | null; lowestPriceCachedCurrency: string | null; earliestVoyageCached: string | null; latestVoyageCached: string | null; externalRefs: Record | null; createdAt: string; updatedAt: string; }, Error, string, unknown>; };