import { BlockMemberRequest, CANDM, CID, CheckDMLimitRequest, CheckDMLimitWithUuidRequest, CheckDMStatusRequest, CreateDMChatroomRequest, SendDMRequest, CreateDMChatroomWithUuidRequest, CANDMWithUuid, FetchDMFeedRequest } from './types';
import { Base } from 'src/base';
import { CanDMFeedResponse } from './responseModels/CanDMFeedResponse';
import { CheckDMStatusResponse } from '../../shared/api-responses/CheckDMStatus';
import { CheckDMLimitResponse } from '../../shared/api-responses/CheckDMLimit';
import { CreateDMChatroomResponse } from '../../shared/api-responses/CreateDMChatroom';
import { BlockMemberResponse } from '../../shared/api-responses/BlockMember';
import { CheckDMTabResponse } from '../../shared/api-responses/CheckDMTab';
import { SyncChatroomResponse } from '../../shared/api-responses/getChatroomSync';
import LMResponse from '../../core/services/lmresponse';
import { SendDMRequestResponse } from '../../shared/api-responses/SendDMRequest';
export declare class DirectMessage extends Base {
    fetchDMFeed(fetchDMFeedRequest: FetchDMFeedRequest): Promise<LMResponse<SyncChatroomResponse>>;
    checkDMStatus(checkDMStatusRequest: CheckDMStatusRequest): Promise<LMResponse<CheckDMStatusResponse>>;
    checkDMLimit(checkDMLimitRequest: CheckDMLimitRequest): Promise<LMResponse<CheckDMLimitResponse>>;
    checkDMLimitWithUuid(checkDMLimitRequest: CheckDMLimitWithUuidRequest): Promise<LMResponse<CheckDMLimitResponse>>;
    createDMChatroom(createDMChatroomRequest: CreateDMChatroomRequest): Promise<LMResponse<CreateDMChatroomResponse>>;
    createDMChatroomWithUuid(createDMChatroomRequest: CreateDMChatroomWithUuidRequest): Promise<LMResponse<CreateDMChatroomResponse>>;
    sendDMRequest(sendDMRequest: SendDMRequest): Promise<LMResponse<SendDMRequestResponse>>;
    blockMember(blockMemberRequest: BlockMemberRequest): Promise<LMResponse<BlockMemberResponse>>;
    checkDMTab(): Promise<LMResponse<CheckDMTabResponse>>;
    getDMFeed(cid: CID): Promise<any>;
    canDmFeed(dmCan: CANDM): Promise<any>;
    canDmFeedWithUuid(dmCan: CANDMWithUuid): Promise<LMResponse<CanDMFeedResponse>>;
}
