import React from "react";
import { BaseResponsiveProps, WithResponsiveOptions } from "./type";
declare type ResponsiveComponent<P, R> = React.ComponentType<P> | React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<R>>;
/**
 * 用 `withResponsive` 包裹任意 React 组件，使其自动获得：
 *  - 响应式 variant 注入：默认 `variant = currentBreakpoint`，规则可覆盖；
 *  - 全局 / 本地覆写规则注入：按 nodeType+nodeId+when 命中后浅合并 props；
 *  - 编辑模式长按编辑：`editMode === true` 时自动套 `ResponsiveEditWrapper`。
 *
 * **运行时引用规则**：所有 React 资产（`useResponsive` / `ResponsiveOverrideContext`）
 * 都通过 `app.responsive.{hooks,components}` 命名空间访问，**不直接 import @terra 实体**；
 * 仅类型走 `import type` 走 @terra（编译期擦除）。
 *
 * 由于 `withResponsive` 是纯函数工厂，模块顶层调用 0 副作用；hook/Context 取值发生在
 * 组件渲染期，那时 `app.responsive` 必已就绪（terra/bootstrap 同步注册）。
 *
 * @example
 * interface OrderItemProps extends BaseResponsiveProps {
 *   title: string;
 * }
 * const OrderItem: React.FC<OrderItemProps> = ({ title, variant, className }) => (
 *   <div className={className}>
 *     {variant === 'phone' ? <span>{title}</span> : <strong>{title}</strong>}
 *   </div>
 * );
 * OrderItem.displayName = 'OrderItem';
 * export default withResponsive(OrderItem);
 */
export declare function withResponsive<P extends BaseResponsiveProps, R = unknown>(Component: ResponsiveComponent<P, R>, options?: WithResponsiveOptions): React.ForwardRefExoticComponent<React.PropsWithoutRef<P> & React.RefAttributes<R>>;
export default withResponsive;
