import { V2NIMMessage, V2NIMRemoveTopicsParams, V2NIMSendMessageResult, V2NIMSendTopicMessageParams, V2NIMTopic, V2NIMTopicListOption, V2NIMTopicListResult, V2NIMTopicMessageListOption, V2NIMTopicMessageListResult, V2NIMTopicRefer, V2NIMUpdateTopicParams, V2NIMSendMessageParams } from '../v2_def/v2_nim_struct_def';
import { V2NIMProgressCallback } from '../v2_def/v2_nim_callback_def';
import { EventEmitter } from 'eventemitter3';
export declare interface V2NIMTopicListener {
    /** Topic 新增 */
    topicAdded: [V2NIMTopic];
    /** Topic 移除 */
    topicsRemoved: [Array<V2NIMTopicRefer>];
    /** Topic 更新 */
    topicUpdated: [V2NIMTopic];
}
export declare class V2NIMTopicService extends EventEmitter<V2NIMTopicListener> {
    instance: any;
    constructor();
    removeTopics(params: V2NIMRemoveTopicsParams): Promise<void>;
    updateTopic(params: V2NIMUpdateTopicParams): Promise<V2NIMTopic>;
    sendTopicMessage(message: V2NIMMessage, conversationId: string, topic: V2NIMTopic | null, params: V2NIMSendTopicMessageParams, progressCallback?: V2NIMProgressCallback): Promise<V2NIMSendMessageResult>;
    replyTopicMessage(message: V2NIMMessage, replyMessage: V2NIMMessage, topic: V2NIMTopic, params: V2NIMSendMessageParams, progressCallback?: V2NIMProgressCallback): Promise<V2NIMSendMessageResult>;
    getTopicByRefer(topicRefer: V2NIMTopicRefer): Promise<V2NIMTopic>;
    getTopicListByOption(option: V2NIMTopicListOption): Promise<V2NIMTopicListResult>;
    getTopicMessageList(option: V2NIMTopicMessageListOption): Promise<V2NIMTopicMessageListResult>;
}
