import OpenIMSDK from '.';
import type { GetOneConversationParams, PinConversationParams, SetBurnDurationParams, SetConversationDraftParams, SetConversationPrivateParams, SetConversationRecvOptParams, SplitConversationParams } from '../types/params';
import type { ConversationItem, WsResponse } from '../types/entity';
export declare function setupConversation(openIMSDK: OpenIMSDK): {
    getAllConversationList: (operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getConversationListSplit: (params: SplitConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getOneConversation: (params: GetOneConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem>>;
    getMultipleConversation: (params: string, operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getConversationIDBySessionType: (params: GetOneConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem>>;
    getTotalUnreadMsgCount: (operationID?: string) => Promise<WsResponse<number>>;
    markConversationMessageAsRead: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationDraft: (params: SetConversationDraftParams, operationID?: string) => Promise<WsResponse<unknown>>;
    pinConversation: (params: PinConversationParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationRecvMessageOpt: (params: SetConversationRecvOptParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationPrivateChat: (params: SetConversationPrivateParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationBurnDuration: (params: SetBurnDurationParams, operationID?: string) => Promise<WsResponse<unknown>>;
    resetConversationGroupAtType: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    hideConversation: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    hideAllConversation: (operationID?: string) => Promise<WsResponse<unknown>>;
    clearConversationAndDeleteAllMsg: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    deleteConversationAndDeleteAllMsg: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
};
export interface ConversationApi {
    getAllConversationList: (operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getConversationListSplit: (params: SplitConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getOneConversation: (params: GetOneConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem>>;
    getMultipleConversation: (params: string, operationID?: string) => Promise<WsResponse<ConversationItem[]>>;
    getConversationIDBySessionType: (params: GetOneConversationParams, operationID?: string) => Promise<WsResponse<ConversationItem>>;
    getTotalUnreadMsgCount: (operationID?: string) => Promise<WsResponse<number>>;
    markConversationMessageAsRead: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationDraft: (params: SetConversationDraftParams, operationID?: string) => Promise<WsResponse<unknown>>;
    pinConversation: (params: PinConversationParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationRecvMessageOpt: (params: SetConversationRecvOptParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationPrivateChat: (params: SetConversationPrivateParams, operationID?: string) => Promise<WsResponse<unknown>>;
    setConversationBurnDuration: (params: SetBurnDurationParams, operationID?: string) => Promise<WsResponse<unknown>>;
    resetConversationGroupAtType: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    hideConversation: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    hideAllConversation: (operationID?: string) => Promise<WsResponse<unknown>>;
    clearConversationAndDeleteAllMsg: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
    deleteConversationAndDeleteAllMsg: (params: string, operationID?: string) => Promise<WsResponse<unknown>>;
}
