/**
 * ProfileWindow - Self-contained user profile modal for KeepworkSDK.
 *
 * Features:
 * - Display username, phone (masked), email
 * - Change password (old + new + confirm)
 * - VIP / SVIP status display with expiration dates
 * - Activation code input for VIP redemption
 * - English / Chinese i18n (auto-detected from system language)
 * - Mobile-responsive (full-screen on small viewports)
 *
 * All UI, styles, and logic are self-contained in this file.
 */
/** show() 选项 */
export interface ProfileWindowShowOptions {
    /** 自定义标题 */
    title?: string;
    /** 语言：'zhCN' | 'enUS'（省略时自动检测） */
    lang?: 'zhCN' | 'enUS';
    /** 是否显示修改密码区（默认 true） */
    enablePassword?: boolean;
    /** 是否显示 VIP 区与激活码（默认 true） */
    enableVip?: boolean;
}
/** sdk 需提供的最小接口 */
interface ProfileWindowSdk {
    token?: string;
    getUserProfile(options?: {
        forceRefresh?: boolean;
    }): Promise<Record<string, unknown>>;
    getAuthHeaders(): Record<string, string>;
    extractMainDomain(hostname: string): string;
    put(path: string, body?: unknown): Promise<unknown>;
    logout(): Promise<unknown>;
    [key: string]: unknown;
}
export default class ProfileWindow {
    sdk: ProfileWindowSdk;
    private _overlay;
    private _styleEl;
    private _pwOverlay;
    private _lang;
    private _strings;
    private _resolve;
    constructor(sdk: unknown);
    /**
     * Show the profile window.
     * @param {Object} options
     * @param {string}  [options.title]               - Custom title
     * @param {string}  [options.lang]                - 'zhCN' | 'enUS' (auto-detected if omitted)
     * @param {boolean} [options.enablePassword=true] - Show change password section
     * @param {boolean} [options.enableVip=true]      - Show VIP section with activation code
     * @returns {Promise<void>} Resolves when the window is closed
     */
    show(options?: ProfileWindowShowOptions): Promise<unknown>;
    /**
     * Close the profile window if open
     */
    close(): void;
    private _loadProfile;
    private _bindNicknameEdit;
    private _renderVipInfo;
    private _loadTokenUsage;
    private _bindVipActivation;
    private _showPasswordPopup;
    private _maskPhone;
    private _formatNumber;
    private _formatDate;
    private _getTokenPlanUrl;
    private _injectStyles;
    private _destroy;
    private _esc;
}
export {};
//# sourceMappingURL=ProfileWindow.d.ts.map