import type { RegionConfig, IPRedirectModalCopy } from './type.js'; /** 样式配置 */ export type RegionSelectorModalStyles = { /** 弹窗宽度,默认 80% */ width?: string; /** 弹窗最大宽度,默认 1000px */ maxWidth?: string; /** 弹窗内边距,默认 '30px 32px' */ padding?: string; /** 弹窗圆角,默认 16px */ borderRadius?: string; /** 标题字号,默认 20px */ titleFontSize?: string; /** 分组标题字号,默认 inherit */ groupTitleFontSize?: string; /** 卡片高度,默认 56px */ itemHeight?: string; /** 卡片背景色,默认 #f5f5f5 */ itemBgColor?: string; /** 卡片圆角,默认 8px */ itemBorderRadius?: string; /** 卡片间距,默认 8px */ itemGap?: string; /** 每行卡片数量,默认 3 */ columns?: number; }; export type RegionSelectorModalProps = { /** 控制弹窗显示/隐藏 */ open: boolean; /** 弹窗状态变化回调 */ onOpenChange: (open: boolean) => void; /** 地区配置列表 */ regions: RegionConfig[]; /** 文案配置 */ copy: IPRedirectModalCopy; /** 用户选择地区后的回调 */ onConfirm?: (region: RegionConfig) => void; /** 是否自动跳转,默认 false */ autoRedirect?: boolean; /** 是否跳转到首页(仅在 autoRedirect 为 true 时生效),默认 false(保留当前路径) */ redirectToHomepage?: boolean; /** 样式配置 */ styles?: RegionSelectorModalStyles; /** 自定义类名 */ className?: string; /** * 当前站点的地区代码(用于构建 ref 参数,表示从哪个站点跳转来的) * 如果启用 autoRedirect,强烈建议提供此参数以便正确追踪跳转来源 */ currentRegionCode?: string; /** * 自定义 ref 参数前缀(用于手动切换站点追踪) * @default 'geo_redirect_manual' * @example 'user_switch' */ refPrefixManual?: string; }; export declare function RegionSelectorModal({ open, onOpenChange, regions, copy, onConfirm, autoRedirect, redirectToHomepage, styles: customStyles, className, currentRegionCode, refPrefixManual, }: RegionSelectorModalProps): import("react/jsx-runtime").JSX.Element;