import { type AdminExtension, type NavItem, type SelectedAdminExtensionFactoryContext } from "@voyant-travel/admin"; /** * Semantic destinations the quotes admin surfaces navigate to (packaged-admin * RFC §4.7). The board opens a quote's detail; the detail page links back to * the board — instead of importing a host route tree they resolve these keys * through `useAdminNavigate` from `@voyant-travel/admin`. Both are route-backed * (pure path interpolation), so the host's resolvers are generated. */ declare module "@voyant-travel/admin" { interface AdminDestinations { /** The quotes board (landing) page. */ "quote.list": Record; /** A quote's detail page, where its versions live. */ "quote.detail": { quoteId: string; }; } } export { quotesQueryKeys } from "../query-keys.js"; export interface CreateQuotesAdminExtensionOptions { /** Mount path of the quotes pages inside the admin workspace. Default `/quotes`. */ basePath?: string; /** Localized nav/page labels. Defaults are the English operator nav labels. */ labels?: { quotes?: string; }; /** Nav icon — icon choice stays with the host (e.g. lucide `FileText`). */ icon?: NavItem["icon"]; } /** * The quotes admin contribution (packaged-admin RFC Phase 3, * `@voyant-travel/-react/admin` convention). * * NAVIGATION: package-delivered. The Quotes item is NOT part of the BASE * operator navigation (`createOperatorAdminNavigation` in * `@voyant-travel/admin`), so the extension contributes it — spliced directly * after Bookings via `insertAfter` because both belong to the * quote → accept → book lifecycle. The icon stays a host choice. * * ROUTES: two contributions carry the FULL route implementation — the board * (landing) at `basePath`, where operators manage pipelines/stages and create * quotes, and a quote detail at `basePath/$id`, where that quote's VERSIONS * live (listed inline, created in context). Versions are never a top-level * surface: they are revisions of a quote. Both pages keep their filter/state * local (no URL search contract); cross-route links resolve through the * semantic destinations declared above. * * WIDGETS: none contributed and no slots exposed yet. */ export declare function createQuotesAdminExtension(options?: CreateQuotesAdminExtensionOptions): AdminExtension; /** Selected-graph adapter owning the standard Operator copy key and icon. */ export declare function createSelectedQuotesAdminExtension({ navMessages }?: SelectedAdminExtensionFactoryContext): AdminExtension;