import React from 'react';
import type { BaseResponsiveProps } from '../../responsive';
import type { GlobalSearchMode, GlobalSearchPermissionContext, GlobalSearchProvider, GlobalSearchProviderLabel } from './types';
import './components/ScopeBar.less';
import './PisellGlobalSearchFullPage.less';
/**
 * PisellGlobalSearchFullPage 全局搜索 · 整页形态（目前唯一对外形态）
 *
 * - 占满 admin 路由的一个 page；
 * - 大搜索 Panel：Input + 独立"搜索"按钮 + Mode 切换（点按 / 回车提交）；
 * - 搜索 Panel 下面紧跟一个 Radio.Group 范围切换（All / Orders ...）；
 * - 双栏 body：左 = 结果区，右 = 管理模式下的订单详情侧栏（桌面）；
 * - **不走 PisellLookup 弹层**，直接在页面内组装 useProviderSearch + 结果组件，避免再套一层 modal。
 *
 * 与底层 PisellGlobalSearch 共享：providers 协议、useProviderSearch hook、结果组件、locales。
 */
export interface PisellGlobalSearchFullPageProps extends BaseResponsiveProps {
    /** @deprecated 标题区已下线，保留该字段仅兼容旧 schema */
    showHeader?: boolean;
    /** 占位符 */
    placeholder?: string;
    /** 搜索按钮文案 @default 'Search' */
    /**
     * 业务 providers 数组。
     *
     * 通常无需显式传：lowcode 画布因为无法序列化 providers 函数，未传时壳层会自动回退到
     * 内置真实 providers（`allProviders` → salesProvider，走 ES `/shop/es/search/sales`）。
     * pro-code 需要自定义 provider 集合时再显式传入。
     */
    providers?: GlobalSearchProvider[];
    /** 权限上下文，透传给 Provider.enabledWhen */
    permissionContext?: GlobalSearchPermissionContext;
    /** 路由跳转函数 */
    navigate?: (url: string) => void;
    /** @default true */
    showModeSwitch?: boolean;
    /** @default 'business' */
    defaultMode?: GlobalSearchMode;
    /** 受控 */
    mode?: GlobalSearchMode;
    onModeChange?: (mode: GlobalSearchMode) => void;
    /** 自定义模式文案 */
    modeOptions?: {
        admin?: GlobalSearchProviderLabel;
        business?: GlobalSearchProviderLabel;
    };
    /**
     * @deprecated 已忽略；组件始终展示 All 范围（与各 Provider 一起露出），
     *   传入此 prop 不再生效，仅为旧 schema/调用方的类型兼容而保留。
     */
    showAllTab?: boolean;
    /** All 模式下每个 provider 展示条数 @default 5 */
    allModePageSize?: number;
    /** 单 tab 模式下每页条数 @default 20 */
    singleModePageSize?: number;
    /**
     * 是否开启硬件扫码枪监听（宿主 `nativeScanResult` 事件）。
     * 全局搜索整页是主要扫码入口（如 WalletPass Code），默认开启；
     * 扫码结果会写入搜索框并触发搜索。需要规避全局 pubsub 串扰时可显式关闭。
     * @default true
     */
    enableScanner?: boolean;
    /**
     * localStorage key，透传给搜索框（PisellFind / PisellLookup）内置历史，
     * 与 Modal 形态共用同一份历史（`string[]` 格式）。
     * @default 'pisell_global_search_history'
     */
    historyKey?: string;
    /** 最多保留多少条历史 @default 10 */
    maxHistoryCount?: number;
    className?: string;
    style?: React.CSSProperties;
}
/**
 * 对外导出：用 withResponsive 包裹，注入 `variant`（phone/desktop/...），
 * 用于「桌面右栏详情 / 手机抽屉详情」的分支与根节点 variant class。
 */
export declare const PisellGlobalSearchFullPage: React.ForwardRefExoticComponent<PisellGlobalSearchFullPageProps & React.RefAttributes<unknown>>;
export default PisellGlobalSearchFullPage;
