export interface WxConfig {
    debug?: boolean;
    appId: string;
    timestamp: number;
    nonceStr: string;
    signature: string;
    jsApiList: string[];
}
export interface WxShareConfig {
    title: string;
    desc: string;
    link: string;
    imgUrl: string;
    success?: () => void;
    cancel?: () => void;
}
/**
 * checkJsApi 返回结果
 */
export interface WxCheckJsApiSuccessResult {
    checkResult?: Record<string, boolean>;
    [key: string]: unknown;
}
export interface WxLoadOptions {
    timeoutMs?: number;
    cdnUrls?: string[];
}
export interface WxConfigOptions {
    timeoutMs?: number;
}
declare global {
    interface Window {
        wx?: {
            config?: (config: WxConfig) => void;
            ready?: (callback: () => void) => void;
            error?: (callback: (res: unknown) => void) => void;
            checkJsApi?: (config: {
                jsApiList: string[];
                success: (res: WxCheckJsApiSuccessResult) => void;
            }) => void;
            updateAppMessageShareData?: (config: WxShareConfig) => void;
            updateTimelineShareData?: (config: WxShareConfig) => void;
            onMenuShareTimeline?: (config: WxShareConfig) => void;
            onMenuShareAppMessage?: (config: WxShareConfig) => void;
            onMenuShareWeibo?: (config: WxShareConfig) => void;
            onMenuShareQZone?: (config: WxShareConfig) => void;
        };
    }
}
/**
 * 检测是否在微信浏览器中运行
 */
export declare const isWechat: () => boolean;
export declare const resetWechatJSSDK: () => void;
/**
 * 动态加载微信 JS-SDK
 * 支持主备 CDN 地址，提升服务稳定性
 */
export declare const loadWechatJSSDK: (options?: WxLoadOptions) => Promise<boolean>;
export declare const configWechatJSSDK: (config: WxConfig, options?: WxConfigOptions) => Promise<boolean>;
/**
 * 检查微信 JS-SDK API 可用性
 */
export declare const checkWechatJSAPI: (jsApiList: string[], options?: WxConfigOptions) => Promise<Record<string, boolean>>;
/**
 * 微信分享到朋友圈
 */
export declare const shareToTimeline: (config: WxShareConfig) => void;
/**
 * 微信分享给朋友
 */
export declare const shareToFriend: (config: WxShareConfig) => void;
/**
 * 微信 JS-SDK 工具类
 */
export declare class WechatSDK {
    private static instance;
    private isConfigured;
    private config;
    private initPromise;
    private constructor();
    static getInstance(): WechatSDK;
    /**
     * 初始化微信 JS-SDK
     */
    init(config: WxConfig): Promise<boolean>;
    /**
     * 检查是否已配置
     */
    isReady(): boolean;
    /**
     * 获取配置信息
     */
    getConfig(): WxConfig | null;
    reset(): void;
    /**
     * 设置分享信息
     */
    setShareData(shareConfig: WxShareConfig): void;
}
