import React from 'react'; import type { GlobalSearchItemContext, GlobalSearchProviderKey } from '../types'; import type { SalesSearchItem } from '../api/searchService'; import { type DetailRefreshVersions } from '../utils/detailRefresh'; /** * 订单结果区共享视图(salesProvider 使用)。 * * - 管理模式(admin):OrderAdminGrid → ES 数据驱动的订单表格(滚动加载 + 列筛选/排序); * - 业务模式(business / 精确搜索):OrderBusinessDetails → 命中订单逐条内联展示 SaleDetail。 */ interface OrderTableFallbackBoundaryProps { children: React.ReactNode; } interface OrderTableFallbackBoundaryState { hasError: boolean; } /** * 兜底:PisellSalesGrid / SaleDetail 依赖 admin engine context(pisell1.* action / * request / OS 模块),脱离 admin lowcode 环境单独运行会崩。 * 用 ErrorBoundary 包一层,崩了显示提示而不是整个搜索面板炸掉。 */ export declare class OrderTableFallbackBoundary extends React.Component { constructor(props: OrderTableFallbackBoundaryProps); static getDerivedStateFromError(): OrderTableFallbackBoundaryState; componentDidCatch(error: Error): void; render(): string | number | boolean | React.JSX.Element | Iterable | null | undefined; } /** * 业务模式(精确搜索)内容区:把命中的订单详情逐条排下去展示。 * * - loading 且暂无结果 → Spin; * - 搜了但 0 条 → 空态; * - 多条 → 每条用 SaleDetail(renderType='current')内联展示,竖向排列; * - 每条用独立 osKey(按订单 id 区分)隔离 SDK 实例,避免相互覆盖; * - 每条用 ErrorBoundary 兜底(脱离 admin engine 环境时优雅降级)。 */ export declare const OrderBusinessDetails: React.FC<{ items: SalesSearchItem[]; loading: boolean; keyword: string; detailRefreshVersions?: DetailRefreshVersions; }>; export declare const OrderBusinessList: React.NamedExoticComponent<{ keyword: string; }>; /** * 管理模式订单表格(对外)。用 React.memo 包裹: * 壳层输入框受控 → 每次敲键壳层重渲染并内联调用 renderResults, * memo 在 committed keyword / onOpenDetail 未变时跳过整块重渲染。 */ export declare const OrderAdminGrid: React.NamedExoticComponent<{ /** 全局搜索关键词(统一搜索框驱动) */ keyword: string; onOpenDetail?: GlobalSearchItemContext['onOpenDetail']; onRealtimePatchItems?: GlobalSearchItemContext['onRealtimePatchItems']; /** * 预览条数上限。传入时(如「全部」分组里:恒为 5)只取首页这么多条、 * 并关闭无限滚动/翻页;不传则为完整表格(单 Orders tab,PAGE_SIZE=20 + 触底翻页)。 */ previewLimit?: number | undefined; /** * 上报当前查询总数给外层(分组头「共 N 条」/「View all」据此展示)。 * 由此让 provider.search 在管理模式下不必再单独发一次「只取数量」的计数请求。 */ onReportTotal?: GlobalSearchItemContext['onReportTotal']; /** 当前 provider key(默认 'order'),上报 total 时带上 */ providerKey?: GlobalSearchProviderKey | undefined; }>; export {};