import { ChatConversation as ChatConversationType, ChatMessage as ChatMessageType } from '@bringg/types';
import { MomentInput } from 'moment';
import { ChatMessageResponse, CreateMessageRequest, CreateMessageResponse, FetchMessagesRequest } from '../ChatMessage/ChatMessage.consts';
import ChatMessageApi from '../ChatMessage/ChatMessageApi';
import Session from '../Services/Identity/Session';
import { ChatConversationCreateRequest, ChatConversationsResponse, ChatOptions, UpdateLastReadResponse } from './ChatConversation.consts';
export default class ChatConversationApi {
    onListUpdate: any;
    onItemUpdate: any;
    onItemRemoved: any;
    onItemCreated: any;
    chatMessage: ChatMessageApi;
    private chatConversationEntity;
    constructor(session: Session);
    getConversation(id: number): Promise<ChatConversationType>;
    getConversations(page?: number, options?: ChatOptions): Promise<Partial<ChatConversationsResponse>>;
    createConversation(request: ChatConversationCreateRequest): Promise<ChatConversationType>;
    updateLastRead(id: number, serverTimeStamp: MomentInput): Promise<UpdateLastReadResponse>;
    fetchMessages(request: FetchMessagesRequest): Promise<ChatMessageResponse>;
    getChatMessages(id: number): ChatMessageType[];
    createMessages(requests: CreateMessageRequest[]): Promise<CreateMessageResponse>;
}
