import React from 'react';
import type { PisellLookupProps, PisellLookupRef } from '../pisellLookup';
/**
 * 原生扫码事件名，对齐宿主端约定。
 */
export declare const SCAN_RESULT_EVENT = "nativeScanResult";
/**
 * 扫码枪回传数据（对齐宿主 ScanResultPayload）
 * - code: 条码标识（如条码格式 / 业务字段）
 * - data: 扫描得到的字符串值（写入输入框的内容）
 */
export interface PisellFindScannerData {
    code: string;
    data: string;
}
/**
 * PisellFind Props
 * 继承 PisellLookup 的所有 Props，并扩展扫码枪监听相关字段。
 */
export interface PisellFindProps extends PisellLookupProps {
    /**
     * 是否开启扫码枪监听
     * - 优先：通过宿主 `appHelper.utils.acquireScanFocus` 接入「扫码焦点栈」，
     *   保证同一页面存在多个 PisellFind 时，只有「栈顶」（最后开启监听的那个，
     *   如列表上方拉起的弹窗）响应扫码，底层组件不响应；关闭/卸载时自动释放，焦点回退。
     * - 回退：宿主未注册焦点栈时，退回到直连 `app.pubsub.subscribe('nativeScanResult', ...)`。
     * 切换 false 时会释放焦点 / unsubscribe，停止接收事件。
     * @default false
     */
    enableScanner?: boolean;
    /**
     * 扫码枪回调
     * 监听到扫码枪事件时触发，参数为原始 payload 对象（含 `data` 字段）。
     * 注意：仅在 enableScanner 为 true 时才会触发。
     */
    onScannerData?: (data: PisellFindScannerData) => void;
}
/**
 * PisellFind Ref
 * 继承 PisellLookup 的所有 Ref 方法
 */
export declare type PisellFindRef = PisellLookupRef;
/**
 * PisellFind 组件
 * 基于 PisellLookup 的组件内查找优化版本
 *
 * 核心特点：
 * - 默认使用 button 触发器
 * - 默认不显示确认按钮（输入即搜索）
 * - 默认开启搜索历史
 * - 默认不展示结果区（结果在页面其他位置展示）
 * - 通过 `enableScanner` 接入扫码枪：优先走宿主注入的「扫码焦点栈」
 *   （`appHelper.utils.acquireScanFocus`），保证同页多个 PisellFind 只有栈顶响应；
 *   宿主未注册时回退到直连 `app.pubsub.subscribe(SCAN_RESULT_EVENT, ...)`。
 *   每次扫码直接覆盖输入框内容并触发 onSearch / onScannerData；切回 false 时自动释放 / unsubscribe。
 *
 * @example
 * ```tsx
 * <PisellFind
 *   triggerType="input"
 *   enableScanner={isActive}
 *   onScannerData={(payload) => console.log('scan:', payload.data)}
 *   onSearch={(keyword) => filterData(keyword)}
 * />
 * ```
 */
export declare const PisellFind: React.ForwardRefExoticComponent<PisellFindProps & React.RefAttributes<PisellLookupRef>>;
