import type { RegionConfig } from './type.js'; export interface UseSavedRegionRedirectOptions { /** * 从 cookie 中读取的已保存地区信息(格式:'DE:de') */ savedRegion: string | null; /** * 当前站点的地区代码 */ currentRegionCode: string; /** * 地区配置列表 */ regions: RegionConfig[]; /** * 白名单路径(在白名单中不执行跳转) */ excludePaths?: string[]; /** * 当前路径 */ pathname?: string; /** * 用户是否手动关闭了横幅(关闭横幅后不再自动跳转) */ userDismissedBanner?: boolean; /** * 自动跳转处理函数 */ onRedirect: (region: RegionConfig, isCookieRedirect?: boolean) => void | Promise; } /** * Cookie 保存地区跳转监听 Hook * * 监听用户之前保存的地区偏好(存储在 cookie 中), * 如果保存的地区与当前地区不匹配,自动跳转到保存的地区 * * @example * ```tsx * useSavedRegionRedirect({ * savedRegion, // 从 useIPRedirect 获取 * currentRegionCode, * regions, * excludePaths, * pathname, * userDismissedBanner, * onRedirect: handleAutoRedirect, // 从 useAutoRedirect 获取 * }) * ``` */ export declare function useSavedRegionRedirect(options: UseSavedRegionRedirectOptions): void;