import Config from './config';
import wfc from './wfc/client/wfc';
import impl from './wfc/proto/proto.min.js';
import Conversation from './wfc/model/conversation';
import ConversationType from './wfc/model/conversationType';
import GroupInfo from './wfc/model/groupInfo';
import GroupMember from './wfc/model/groupMember';
import MessageContent from './wfc/messages/messageContent';
import MessageContentType from './wfc/messages/messageContentType';
import UserInfo from './wfc/model/userInfo';
import EventType from './wfc/client/wfcEvent';
import ConnectionStatus from './wfc/client/connectionStatus';
import TextMessageContent from './wfc/messages/textMessageContent';
import ImageMessageContent from './wfc/messages/imageMessageContent';
import VideoMessageContent from './wfc/messages/videoMessageContent';
import FileMessageContent from './wfc/messages/fileMessageContent';
import StickerMessageContent from './wfc/messages/stickerMessageContent';
/**
 * SDK配置类型定义
 */
export interface SDKConfig {
    APP_SERVER?: string;
    ROUTE_PORT?: number;
    DEFAULT_USER_ID?: string;
    DEFAULT_TOKEN?: string;
    AUTO_CONNECT?: boolean;
    CLIENT_ID_STRATEGY?: number;
    PLATFORM?: number;
    KEEP_ALIVE_INTERVAL?: number;
    KEEP_ALIVE_TIMEOUT?: number;
    REQUEST_TIMEOUT?: number;
    MAX_RETRY_COUNT?: number;
    ENABLE_LOG?: boolean;
    ENABLE_SYNC_DRAFT?: boolean;
    ENABLE_OFFLINE_MESSAGE?: boolean;
    ENABLE_MESSAGE_RECEIPT?: boolean;
    ENABLE_NOTIFICATION?: boolean;
    UI?: {
        DEFAULT_AVATAR_URL?: string;
        DEFAULT_GROUP_AVATAR_URL?: string;
        MESSAGE_RECALL_TIME_LIMIT?: number;
    };
    [key: string]: any;
}
/**
 * 初始化SDK
 * @param config 可选的配置参数，覆盖默认配置
 */
export declare function init(config?: SDKConfig): {
    config: {
        APP_SERVER: string;
        ROUTE_PORT: number;
        USE_WSS: boolean;
        ENABLE_AUTO_LOGIN: boolean;
        ENABLE_MULTI_VOIP_CALL: boolean;
        ENABLE_SINGLE_VOIP_CALL: boolean;
        ENABLE_VOIP_DEBUG_MODE: boolean;
        DEFAULT_PORTRAIT_URL: string;
        DEFAULT_GROUP_PORTRAIT_URL: string;
        DEFAULT_ORGANIZATION_PORTRAIT_URL: string;
        DEFAULT_DEPARTMENT_PORTRAIT_URL: string;
        DEFAULT_MESH_PORTRAIT_URL: string;
        DEFAULT_THUMBNAIL_URL: string;
        AUTO_CONNECT: boolean;
        DISABLE_LOG: boolean;
        ASR_SERVER: any;
        ORGANIZATION_SERVER: string;
        QR_CODE_PREFIX_PC_SESSION: string;
        ICE_SERVERS: string[][];
        MESSAGE_ROAMING: number;
        AI_PORTAL_URL: any;
        ENABLE_ROAMING_MESSAGE_RECEIVING_NOTIFICATION: boolean;
        ENABLE_ROAMING_TRANSPARENT_MESSAGE_RECEIVING_NOTIFICATION: boolean;
        ENABLE_GENERATE_CONVERSATION_FOR_TRANSPARENT_MESSAGE: boolean;
        CLIENT_ID_STRATEGY: number;
        SDK_PLATFORM_WINDOWS: number;
        SDK_PLATFORM_OSX: number;
        SDK_PLATFORM_WEB: number;
        SDK_PLATFORM_WX: number;
        KEEP_ALIVE_INTERNAL: number;
        KEEP_ALIVE_TIMEOUT: number;
        PLATFORM: number;
        KEEP_ALIVE_INTERVAL: number;
        REQUEST_TIMEOUT: number;
        MAX_RETRY_COUNT: number;
        ENABLE_LOG: boolean;
        ENABLE_SYNC_DRAFT: boolean;
        ENABLE_OFFLINE_MESSAGE: boolean;
        ENABLE_MESSAGE_RECEIPT: boolean;
        ENABLE_NOTIFICATION: boolean;
        AMR_TO_MP3_SERVER_ADDRESS: string;
        SEND_MESSAGE_TIMEOUT: number;
        CONVERSATION_EXPIRE_TIME: number;
        FILE_HELPER_ID: string;
        ENABLE_INFO_PERSISTENCE: boolean;
        MAX_TO_LOAD_UNREAD_COUNT_PER_CONVERSATION: number;
        RECALL_REEDIT_TIME_LIMIT: number;
        ENABLE_MULTI_CALL_AUTO_JOIN: boolean;
        ENABLE_PTT: boolean;
        ENABLE_MIX_MEDIA_MESSAGE: boolean;
        SEND_LOG_COMMAND: string;
        ENABLE_WATER_MARK: boolean;
        SHOW_VOIP_TIP: boolean;
        UI: {
            DEFAULT_AVATAR_URL: string;
            DEFAULT_GROUP_AVATAR_URL: string;
            MESSAGE_RECALL_TIME_LIMIT: number;
        };
        getWFCPlatform(): number;
        config(options: any): void;
        urlRedirect(url: string): string;
        isUseBackupAddress(): boolean;
        emojiBaseUrl(): string;
        stickerBaseUrl(): string;
    };
    initialized: boolean;
};
/**
 * 连接到服务器
 * @param userId 用户ID
 * @param token 用户token
 * @returns 是否成功连接
 */
export declare function connect(userId: string, token: string): any;
/**
 * 断开连接
 */
export declare function disconnect(): void;
/**
 * 获取连接状态
 * @returns 当前连接状态
 */
export declare function getConnectionStatus(): number;
/**
 * 获取当前SDK配置
 * @returns 当前配置对象的副本
 */
export declare function getConfig(): any;
export { Config, wfc, impl, // 导出impl对象
Conversation, ConversationType, GroupInfo, GroupMember, MessageContent, MessageContentType, UserInfo, EventType, ConnectionStatus, TextMessageContent, ImageMessageContent, VideoMessageContent, FileMessageContent, StickerMessageContent };
