/**
 * keepworkSDK.core.ts — KeepworkSDK 核心方法 mixin（TypeScript 版）
 *
 * 包含：
 * - 构造辅助（_initCore）
 * - Token / 认证管理（setToken / getAuthHeaders / setUserApiKey 等）
 * - 用户档案缓存与 auth-state 事件通知
 * - HTTP 请求帮助方法（request / get / post / put / delete）
 * - 用户认证接口（login / logout / getUserProfile / VIP 检查等）
 * - AIChat 懒加载（_patchAIChat / loadAIChat）
 *
 * 通过 `applyCoreMixin(KeepworkSDK)` 将所有方法注入到主类 prototype，
 * 不单独导出类，避免循环引用。
 */
/** KeepworkSDK 构造选项 */
export interface KeepworkSDKOptions {
    /** 覆盖默认 API 基地址（调试用，生产保持空） */
    baseURL?: string;
    /** 初始认证 token */
    token?: string;
    /** 请求超时 ms（默认 30000） */
    timeout?: number;
    /** 失败重试次数（默认 1） */
    retryCount?: number;
    /** 首次重试延迟 ms（默认 1000，指数退避） */
    retryDelay?: number;
    /** LLM user-api-key */
    userApiKey?: string;
    /** 用户档案缓存时长 ms（默认 30000000 ≈ 500 分钟） */
    userCacheTimeout?: number;
    /** AudioEngine 初始化选项 */
    audioEngine?: Record<string, unknown>;
    /** WxAuth 初始化选项 */
    wxAuth?: Record<string, unknown>;
    /** LocalAPIKeySettings 初始化选项 */
    localAPIKeySettings?: Record<string, unknown>;
}
/** 认证状态变更事件载荷 */
export interface AuthStateChange {
    /** 变更原因 */
    reason: 'tokenChanged' | 'signedOut' | 'userChanged' | 'setCachedUser' | 'profileChanged' | string;
    previousToken?: string | null;
    token?: string | null;
    previousUserKey?: string | null;
    nextUserKey?: string | null;
}
/** 用户档案对象（Keepwork /users/profile 返回结构） */
export interface KwUserProfile {
    id?: number;
    username?: string;
    nickname?: string;
    portrait?: string;
    email?: string;
    mobile?: string;
    /** 普通 VIP 到期时间字符串 */
    commonVipDeadline?: string;
    /** 普通 VIP 标志 */
    commonVip?: boolean | number;
    /** 超级 VIP 到期时间字符串 */
    vipDeadline?: string;
    /** 超级 VIP 标志 */
    vip?: boolean | number;
    /** 实名认证姓名 */
    realname?: string;
    [key: string]: unknown;
}
/** HTTP 请求选项（扩展 RequestInit，支持直接传 body 对象） */
export interface RequestOptions extends Omit<RequestInit, 'body'> {
    body?: unknown;
    headers?: Record<string, string>;
}
/** getUserProfile 选项 */
export interface GetProfileOptions {
    useCache?: boolean;
    forceRefresh?: boolean;
}
/**
 * 将核心方法注入到 KeepworkSDK 类的 prototype（及静态属性）。
 * 调用方式：`applyCoreMixin(KeepworkSDK)`
 *
 * @param TargetClass - KeepworkSDK 主类（带 `_API_BASE_URL` 静态字段）
 */
export declare function applyCoreMixin(TargetClass: any): void;
//# sourceMappingURL=keepworkSDK.core.d.ts.map