import React from 'react';
/** 副屏内容缩放系数：与 transform 中 scale 含义一致 */
export declare const SECONDARY_DISPLAY_DEFAULT_SCALE = 2.5;
export declare const SECONDARY_DISPLAY_MIN_SCALE = 0.25;
export declare const SECONDARY_DISPLAY_MAX_SCALE = 5;
export declare const SECONDARY_PRODUCTS_PER_ROW_MIN = 1;
export declare const SECONDARY_PRODUCTS_PER_ROW_MAX = 8;
/** 统一副屏展示配置（缩放 + 购物车列数 + 客户信息） */
export interface SecondaryScreenDisplaySettings {
    scale: number;
    productsPerRow: number;
    showCustomerInfo: boolean;
}
export declare const DEFAULT_SECONDARY_DISPLAY_SETTINGS: SecondaryScreenDisplaySettings;
/** 将任意部分字段归一化为完整配置 */
export declare function normalizeSecondaryDisplaySettings(partial: Partial<SecondaryScreenDisplaySettings>): SecondaryScreenDisplaySettings;
/** 是否已保存过完整 JSON（保存后低代码 props 不再覆盖列数/客户信息） */
export declare function hasPersistedSecondaryDisplaySettings(): boolean;
/**
 * 读取副屏展示配置（仅应在副屏场景调用；主屏不应依赖此结果驱动 UI）。
 * - 若已存在新 JSON 键：仅使用本地存储（低代码 props 不覆盖）。
 * - 否则：默认 + 旧 scale 迁移 + propsFallback（每行商品数、客户信息）合并。
 */
export declare function getStoredSecondaryDisplaySettings(propsFallback?: {
    productsPerRow?: number;
    showCustomerInfo?: boolean;
}): SecondaryScreenDisplaySettings;
/** 持久化完整配置；写入后删除旧 scale 单键，避免双源 */
export declare function persistSecondaryDisplaySettings(settings: SecondaryScreenDisplaySettings): void;
/** @deprecated 请使用 getStoredSecondaryDisplaySettings().scale */
export declare function getStoredSecondaryDisplayScale(): number;
/** @deprecated 请使用 persistSecondaryDisplaySettings 合并更新 scale */
export declare function persistSecondaryDisplayScale(scale: number): void;
export interface SecondaryScreenSettingsModalProps {
    open: boolean;
    /** 当前已生效的配置（打开弹窗时同步到表单草稿） */
    settings: SecondaryScreenDisplaySettings;
    onCancel: () => void;
    onConfirm: (next: SecondaryScreenDisplaySettings) => void;
}
/**
 * 副屏设置弹窗：缩放、购物车每行商品数、是否显示客户信息；确认后由外层持久化。
 */
export declare const SecondaryScreenSettingsModal: React.FC<SecondaryScreenSettingsModalProps>;
