import { type DynamicTableProps } from './dynamic-table'; import { type DynamicKanbanProps } from './dynamic-kanban'; /** * Pure routing decision: which renderer a `view_type` maps onto. Exported so a * host that resolves metadata itself can branch without mounting this wrapper. */ export declare function resolveViewRenderer(viewType: string | undefined): 'kanban' | 'table'; /** * Reads the `view` selector out of a URL search string (`?view=kanban`, a bare * `view=kanban`, or a full href). Returns `undefined` when absent. The query is * the per-NAV signal: the same model exposes a "Board" nav (`?view=kanban`) and * an "Issues" nav (`?view=list`), so the query — not the model-level * `metadata.view_type` — decides which surface to paint. SSR-safe. */ export declare function readViewFromSearch(search?: string): string | undefined; /** * Resolves the effective view selector with the right precedence: * 1. an explicit `view` prop the host passes (it owns the router), then * 2. the `view` query param, then * 3. the model-level `metadata.view_type` default. * Exported pure for unit tests and host reuse. */ export declare function resolveActiveView(explicit: string | undefined, search: string | undefined, metadataViewType: string | undefined): string | undefined; export interface DynamicViewProps extends DynamicTableProps { /** * Explicit view selector from the host's router (e.g. the `view` search * param resolved by tanstack-router). Takes precedence over the query string * and the model's `metadata.view_type`. Pass this when the host owns routing * so the same model can show `?view=kanban` (board) or `?view=list` (table) * with no per-model metadata change. */ view?: string; /** * Props forwarded to when the model resolves to a kanban * view. `model`/`endpoint`/`refreshTrigger`/`timeZone`/`currency` are shared * with the table props and forwarded automatically; this is for the * kanban-only extras (e.g. `onCardClick`, `pageSize`). */ kanbanProps?: Partial>; } export declare function DynamicView({ view, kanbanProps, ...tableProps }: DynamicViewProps): import("react").JSX.Element | null; //# sourceMappingURL=dynamic-view.d.ts.map