/**
 * WxUtils — 微信公共工具模块
 *
 * 提供微信环境检测、JS-SDK 加载、签名获取、Cookie 工具等共享功能。
 * 被 WxAuth、WxLaunchApp 等模块依赖，也可在宿主页面直接使用。
 */
/**
 * 提取主域名（去掉子域名前缀）。
 * 本地开发地址（localhost、127.x、192.168.x）回退为 `keepwork.com`。
 *
 * @param hostname - 完整的 hostname（如 `www.keepwork.com`）
 * @returns 主域名（如 `keepwork.com`）
 */
export declare function extractMainDomain(hostname: string): string;
/**
 * 获取 Keepwork 核心 API 基础 URL（根据当前域名动态推导）。
 *
 * @returns 如 `https://api.keepwork.com/core/v0`
 */
export declare function getApiBaseURL(): string;
/**
 * 判断是否为本地开发 hostname（含 127.x 和 192.168.x 段）。
 */
export declare function isLocalDevHostname(hostname: string): boolean;
/**
 * 获取微信授权 `redirect_uri` 所用的 origin。
 *
 * 本地开发时将 hostname 替换为 `keepwork.com`（保持端口），
 * 避免微信回调因域名白名单问题失败。
 */
export declare function getWechatRedirectOrigin(): string;
/**
 * 规范化微信授权 redirect_uri：本地域名替换为 keepwork.com。
 *
 * @param redirectUri - 原始 redirect_uri
 */
export declare function normalizeWechatRedirectUri(redirectUri: string): string;
/** 微信环境检测结果 */
export interface WxEnvironment {
    /** 是否在微信内置浏览器中 */
    isWeChat: boolean;
    /** 是否在微信小程序 WebView 中 */
    isMiniProgram: boolean;
    /** 是否在企业微信中 */
    isWorkWeChat: boolean;
    /** 是否在微信开发者工具中 */
    isDevTools: boolean;
    /** 是否处于任意微信环境（以上任一为 true） */
    isAnyWeChat: boolean;
}
/**
 * 检测当前运行环境是否为微信系列环境。
 * 服务端渲染环境（无 navigator）会返回全 false。
 */
export declare function detectWxEnvironment(): WxEnvironment;
/**
 * 简单判断是否在微信内置浏览器中运行。
 */
export declare function isWechatBrowser(): boolean;
/**
 * 判断当前页面是否处于 iframe 中。
 * 跨域 iframe 访问 `window.parent` 会抛出异常，此时也返回 true。
 */
export declare function isInIframe(): boolean;
/**
 * 懒加载微信 JS-SDK（jweixin-1.6.0.js）。
 *
 * - 若已加载则直接返回全局 `wx` 对象
 * - 若正在加载则等待同一 Promise 完成（防止重复插入 script）
 *
 * @returns 微信 wx 全局对象
 * @throws 若 SDK 加载失败或 wx 对象不可用
 */
export declare function loadWxSDK(): Promise<typeof wx>;
/** getSignature 的参数 */
export interface GetSignatureOptions {
    /** 时间戳（默认当前时间） */
    timestamp?: number;
    /** 随机字符串（默认随机生成） */
    nonceStr?: string;
    /** 平台标识（默认 7） */
    platform?: number;
}
/** 微信签名结果 */
export interface WxSignatureResult {
    signature: string;
    timestamp: number;
    nonceStr: string;
}
/**
 * 从 Keepwork 后端获取微信 JS-SDK 签名。
 *
 * @param url     - 需要签名的 URL（默认当前页面 URL，不含 hash）
 * @param options - 可选参数：timestamp、nonceStr、platform
 */
export declare function getSignature(url?: string, options?: GetSignatureOptions): Promise<WxSignatureResult>;
/**
 * 将对象序列化为 URL 查询字符串（如 `key=value&key2=value2`）。
 * 值为 null/undefined 的键会被过滤掉。
 */
export declare function toUrlQueryString(obj: Record<string, unknown>): string;
/**
 * 将 URL 查询字符串解析为对象。
 * 支持带或不带前导 `?` 的字符串。
 */
export declare function parseUrlQueryString(queryString: string): Record<string, string>;
/**
 * 从当前页面的 document.cookie 中提取 token 值。
 *
 * @returns token 字符串，或 null（未找到 / 非浏览器环境）
 */
export declare function getTokenFromCookie(): string | null;
/** setCookie 的可选配置 */
export interface SetCookieOptions {
    /** SameSite 属性（默认 'Lax'） */
    sameSite?: 'Lax' | 'Strict' | 'None';
    /** 是否添加 Secure 标志（默认 false） */
    secure?: boolean;
    /** Cookie 路径（默认 '/'） */
    path?: string;
}
/**
 * 设置 Cookie。
 *
 * @param name    - Cookie 名称
 * @param value   - Cookie 值
 * @param days    - 过期天数（默认 14 天；-1 表示立即过期/删除）
 * @param options - SameSite、Secure、path 等可选配置
 */
export declare function setCookie(name: string, value: string, days?: number, options?: SetCookieOptions): void;
declare const _default: {
    extractMainDomain: typeof extractMainDomain;
    getApiBaseURL: typeof getApiBaseURL;
    detectWxEnvironment: typeof detectWxEnvironment;
    isWechatBrowser: typeof isWechatBrowser;
    isInIframe: typeof isInIframe;
    loadWxSDK: typeof loadWxSDK;
    getSignature: typeof getSignature;
    toUrlQueryString: typeof toUrlQueryString;
    parseUrlQueryString: typeof parseUrlQueryString;
    getTokenFromCookie: typeof getTokenFromCookie;
    setCookie: typeof setCookie;
};
export default _default;
//# sourceMappingURL=WxUtils.d.ts.map