import React, { type CSSProperties, type ReactNode } from "react";
import { ResponsiveNodeIdentity } from './type';
/**
 * `ResponsiveEditWrapper` 入参
 */
export interface ResponsiveEditWrapperProps {
    /** 被包裹的组件树（一般是已 resolveProps 过的最终渲染产物） */
    children: ReactNode;
    /** 节点身份，用于编辑面板回填 */
    node: ResponsiveNodeIdentity;
    /** 当前合并后的最终 props（仅展示/编辑用） */
    finalProps: Record<string, any>;
    /**
     * 组件级可覆写字段白名单（来自 withResponsive 配置）
     * - 传入则作为编辑面板的最终白名单（最高优先级）；
     * - 未传时由插件按 byNode/default/DEFAULT 解析。
     */
    editableFields?: string[];
    /** 指定外层标签（默认 div，建议保持以避免破坏布局） */
    as?: keyof JSX.IntrinsicElements;
    /** 透传给外层 wrapper 的 className */
    className?: string;
    /** 透传给外层 wrapper 的 style */
    style?: CSSProperties;
}
/**
 * 编辑模式下包裹响应式组件，提供长按 → 弹出配置面板 的能力
 *
 * **运行时引用规则**：通过 `app.responsive.publishEditOpen(payload)` 发布事件，
 * **不直接 import 事件常量与 pubsub**；类型走 `import type`（编译期擦除）。
 *
 * 行为：
 *  - 仅在 `withResponsive` 检测到 `editMode === true` 时才会被使用；
 *  - 监听 pointerdown 启动 600ms 计时；pointermove（位移 > 8px）/ pointerup / pointercancel 取消；
 *  - 触发时 `e.preventDefault()` 阻止默认行为，再调用 `app.responsive.publishEditOpen(payload)` 通知面板；
 *  - 加 1px 虚线轮廓辅助识别。
 *
 * @example
 * <ResponsiveEditWrapper
 *   node={{ componentName: 'OrderItem', id: 'cart-1', className: 'order-item' }}
 *   finalProps={mergedProps}
 * >
 *   <OrderItem {...mergedProps} />
 * </ResponsiveEditWrapper>
 */
export declare const ResponsiveEditWrapper: React.FC<ResponsiveEditWrapperProps>;
export default ResponsiveEditWrapper;
