import React from 'react';
import { type SecondaryScreenDisplaySettings } from './ScaleModal';
/** 与 unifiedCommunication 运行时中副屏标识一致 */
export interface TicketBookingSecondaryRuntime {
    role?: string;
}
/**
 * 低代码/宿主传入的副屏展示兜底（仅当本地尚未保存过完整 JSON 时参与合并）。
 * 缩放比例始终以弹窗与本地存储为准。
 */
export interface TicketBookingSecondaryDisplayConfig {
    /** 购物车商品一行展示几个，默认 1，范围 1～8 */
    productsPerRow?: number;
    /** 是否显示客户信息区块，默认 true */
    showCustomerInfo?: boolean;
}
export interface UseTicketBookingSecondaryScreenResult {
    isSecondaryScreen: boolean;
    /** 当前副屏展示配置（主屏无意义，仅副屏用于与弹窗同步） */
    secondaryDisplaySettings: SecondaryScreenDisplaySettings;
    /** 副屏购物车每行列数（非副屏为 1） */
    secondaryProductsPerRow: number;
    /** 副屏是否展示客户信息（非副屏恒为 true） */
    showSecondaryCustomerInfo: boolean;
    /** 传给 BookingInfo 的 modules */
    bookingInfoModules: {
        client: number;
        date: number;
        service: number;
        holder: number;
        note: number;
    };
    /** 包裹 BookingInfo 的主内容区 div 属性（含副屏缩放与连点手势） */
    mainContentWrapperProps: React.HTMLAttributes<HTMLDivElement> & {
        id: string;
        className: string;
        style: React.CSSProperties;
    };
    /** 副屏设置弹窗；主屏为 null，不挂载 */
    secondaryScreenSettingsModal: React.ReactElement | null;
}
/**
 * 票务预约副屏：角色判断、主内容区 transform、连点打开设置弹窗、本地持久化展示配置。
 */
export declare function useTicketBookingSecondaryScreen(runtime: TicketBookingSecondaryRuntime | undefined, displayConfig?: TicketBookingSecondaryDisplayConfig): UseTicketBookingSecondaryScreenResult;
export type { SecondaryScreenDisplaySettings } from './ScaleModal';
