export interface ProductsListFilters { status?: "draft" | "awaiting_review" | "live" | "archived" | undefined; lineSupplierId?: string | undefined; region?: string | undefined; search?: string | undefined; limit?: number | undefined; offset?: number | undefined; } export interface VoyagesListFilters { productId?: string | undefined; yachtId?: string | undefined; dateFrom?: string | undefined; dateTo?: string | undefined; salesStatus?: "open" | "on_request" | "wait_list" | "sold_out" | "closed" | undefined; bookingMode?: "per_suite" | "whole_yacht" | undefined; limit?: number | undefined; offset?: number | undefined; } export interface YachtsListFilters { lineSupplierId?: string | undefined; yachtClass?: "luxury_motor" | "luxury_sailing" | "expedition" | "small_cruise" | undefined; isActive?: boolean | undefined; search?: string | undefined; limit?: number | undefined; offset?: number | undefined; } export interface PublicProductsListFilters { region?: string | undefined; theme?: string | undefined; search?: string | undefined; limit?: number | undefined; offset?: number | undefined; } /** * Hierarchical TanStack query keys for the charters module. Following the * convention from cruises-react / relationships-react: all keys are tuples rooted at * `["voyant", "charters", ...]` so a single invalidation can wipe everything * charters-related, and finer-grained invalidations target specific resources. * * `key` parameters accept both local TypeIDs (`chrt_*`, `chrv_*`, `chry_*`) * and external `:` keys — the server dispatches on its end. */ export declare const chartersQueryKeys: { readonly all: readonly ["voyant", "charters"]; readonly products: () => readonly ["voyant", "charters", "products"]; readonly productsList: (filters: ProductsListFilters) => readonly ["voyant", "charters", "products", "list", ProductsListFilters]; readonly product: (key: string, include?: ReadonlyArray<"voyages" | "yacht">) => readonly ["voyant", "charters", "products", "detail", string, readonly ("voyages" | "yacht")[]]; readonly productVoyages: (key: string) => readonly ["voyant", "charters", "products", "detail", string, readonly ("voyages" | "yacht")[], "voyages"]; readonly voyages: () => readonly ["voyant", "charters", "voyages"]; readonly voyagesList: (filters: VoyagesListFilters) => readonly ["voyant", "charters", "voyages", "list", VoyagesListFilters]; readonly voyage: (key: string, include?: ReadonlyArray<"suites" | "schedule">) => readonly ["voyant", "charters", "voyages", "detail", string, readonly ("suites" | "schedule")[]]; readonly yachts: () => readonly ["voyant", "charters", "yachts"]; readonly yachtsList: (filters: YachtsListFilters) => readonly ["voyant", "charters", "yachts", "list", YachtsListFilters]; readonly yacht: (key: string) => readonly ["voyant", "charters", "yachts", "detail", string]; readonly public: () => readonly ["voyant", "charters", "public"]; readonly publicProductsList: (filters: PublicProductsListFilters) => readonly ["voyant", "charters", "public", "products", "list", PublicProductsListFilters]; readonly publicProduct: (key: string) => readonly ["voyant", "charters", "public", "products", "detail", string]; readonly publicVoyage: (key: string) => readonly ["voyant", "charters", "public", "voyages", "detail", string]; readonly publicYacht: (key: string) => readonly ["voyant", "charters", "public", "yachts", "detail", string]; };