/// import events from "events"; import * as api from "./interfaces/api/api"; import { Contact as _Contact } from "./interfaces/api/contact"; import { Context as ApiContext } from "./interfaces/api/context"; import { Conversation } from "./interfaces/api/conversation"; import * as apiEvents from "./interfaces/api/events"; import { HttpIo } from "./interfaces/http-io"; import { AllUsers } from "./interfaces/native-api/conversation"; import { MessagesPoller } from "./polling/messages-poller"; import { Contact } from "./types/contact"; import { Invite } from "./types/invite"; export interface ApiEvents extends NodeJS.EventEmitter { } export declare class Api extends events.EventEmitter implements ApiEvents { io: HttpIo; context: ApiContext; messagesPoller: MessagesPoller; private readonly contactsService; constructor(context: ApiContext, io: HttpIo); acceptContactRequest(contactUsername: string): Promise; declineContactRequest(contactUsername: string): Promise; getContactInvites(): Promise; getContact(contactId: string): Promise<_Contact>; getContacts(): Promise; getConversation(conversationId: string): Promise; getConversations(): Promise; sendMessage(message: api.NewMessage, conversationId: string): Promise; setConversationTopic(conversationId: string, topic: string): Promise; getJoinUrl(conversationId: string): Promise; addMemberToConversation(conversationId: string, memberId: string): Promise; createConversation(allUsers: AllUsers): Promise; sendImage(message: api.NewImage, conversationId: string): Promise; getState(): ApiContext.Json; setStatus(status: api.Status): Promise; /** * Start polling and emitting events */ listen(): Promise; /** * Stop polling and emitting events */ stopListening(): Promise; protected handlePollingEvent(ev: apiEvents.EventMessage): void; }