import { ChatInfo, ConversationSelector, CreateChatOptions, Delegate, IMConfig, LanguageType, NodeConfig, SendAtMessageOption, SendAttachmentMessageOption, SendForwardMessageListOption, SendForwardMessageOption, SendImageMessageOption, SendTextMessageOption, UpdateChatInfoOption, UserGroupInfo, UserInfo } from "../types";
import ConversationViewModel from "../../packages/ui/ConversationViewModel";
import { LogInitOptions } from "../../packages/core/util/log";
import { IMUiSetting, LoginErrorCode, LogModeEnum } from "../lib";
import { Draft } from "../../js/newSdk/model/draft";
import { Message } from "@newSdk/model/Message";
import IMEnvironmentType from "../../packages/core/constant/IMEnvironmentType";
declare class IMSdk {
    static instance: IMSdk;
    config: IMConfig;
    static env: IMEnvironmentType;
    static version: any;
    static ak: string;
    static deviceId: string;
    private authCode;
    logined: boolean;
    auid: string | undefined;
    uid: string | undefined;
    delegate: Delegate | undefined;
    avatarPlaceholder: string | undefined;
    private onlineTimer;
    private setChatInfoOptions;
    constructor(ak: string, config: IMConfig);
    static initLog(mode: LogModeEnum, options?: LogInitOptions): void;
    static setNodeConfig(config: NodeConfig): void;
    private init;
    reportOnlineStatusTask(close?: boolean): void;
    setAuthCode(authCode: string): Promise<void>;
    setImUiSetting(setting: Partial<IMUiSetting>): void;
    getImUiSetting(): IMUiSetting;
    getUserInfo(id: string): Promise<any>;
    setUserInfo(userInfos: UserInfo[]): void;
    setGroupUserInfo(aChatId: string, userGroupInfos: UserGroupInfo[]): void;
    setChatInfo(chatInfos: ChatInfo[]): void;
    static getInstance(ak: string, config: IMConfig): IMSdk;
    setDelegate(delegate: Delegate): void;
    handleAuthCodeExpire(code: LoginErrorCode): Promise<void>;
    createChat(options: CreateChatOptions): Promise<void>;
    initUser(auid: string, authcode?: string): Promise<void>;
    getChatById(aChatId: string): Promise<import("../../js/newSdk/model/Chat").Session | undefined>;
    sendTextMessage({ content, aChatId, amid, quoteAmid }: SendTextMessageOption): Promise<any>;
    sendImageMessage({ data, aChatId, amid, isOrigin }: SendImageMessageOption): Promise<void>;
    sendVideoMessage({ data, aChatId, amid }: SendAttachmentMessageOption): Promise<void>;
    sendAttachmentMessage({ data, aChatId, amid }: SendAttachmentMessageOption): Promise<void>;
    sendAtMessage({ content, aChatId, amid, quoteAmid }: SendAtMessageOption): Promise<any>;
    private sendForwardMessageCommon;
    sendForwardMessage({ amid, aChatId, forwardAMid }: SendForwardMessageOption): Promise<any>;
    checkForwardListMessage(amids: string[]): Promise<undefined | [number, Message[]]>;
    sendForwardListMessage({ aChatId, items }: SendForwardMessageListOption): Promise<boolean | undefined>;
    disableCardMessage(amid: string, buttonIds: string[]): Promise<void>;
    loginOut(): void;
    createConversationViewModel(selector?: ConversationSelector): ConversationViewModel;
    setConversationSubTitle({ subTitles }: {
        subTitles: {
            aChatId: string;
            subTitle: string;
        }[];
    }): void;
    setConversationMarker({ markers }: {
        markers: {
            aChatId: string;
            icon: string;
        }[];
    }): void;
    deleteMessages(amids: string[]): Promise<boolean>;
    getMultiSelectAmids(): any[];
    setMultiSelectShow(show: boolean): void;
    delDraftMessage(aChatId: string): Promise<void>;
    getDraftMessage(aChatId: string): Promise<Draft | undefined>;
    setDraftMessage(data: Omit<Draft, "chatId" | "mid">): Promise<void>;
    updateDraftMessage(aChatId: string, item: Partial<Draft>): Promise<void>;
    setCurrentLanguage(lang: LanguageType): void;
    clearChatMessage(aChatId: string): Promise<boolean>;
    revokeMyMessage(aChatId: string): Promise<boolean | undefined>;
    getSearchBySeq(seq: string): Promise<import("../../workers/types").participleWords[]>;
    getMessageByAmid(amid: string): Promise<Message<string> | undefined>;
    getMessageByAmids(amids: string[]): Promise<Message<string>[]>;
    getMessageBySeqs(seqs: string[]): Promise<Message<string>[]>;
    updateChatInfo(option: UpdateChatInfoOption): Promise<void>;
    deleteChat(aChatId: string, forceDel?: boolean): Promise<void>;
    showChat(aChatId: string): Promise<boolean>;
    getChatImageContents(aChatId: string): Promise<Message<string>[]>;
    getAllChat(): Promise<any[]>;
    onWindowFocus(): void;
    retractMessages(amids: string[]): Promise<void>;
    reconnectWs(): void;
    reloadChatAndMessages(): Promise<void>;
    getUserConnectInfo(auids: string[]): Promise<import("src/js/newSdk/service/api/getUserConnectInfo").GetUserConnectInfoRes>;
    queryConversations(auids: string[], failed: (code: string) => void, success: (aChatIds: Array<QueyrConversationResult>) => void): Promise<void>;
}
interface QueyrConversationResult {
    uid: string;
    auid: string;
    aChatId: string;
}
export default IMSdk;
