import Room, { RoomData } from './Room'; import { ChatEventName, ChatEventHandler } from './EventManager'; declare type ChatClientOpts = { username: string; awsconfig: any; identityId?: string; heartbeatInterval?: number; fallbackToPolling?: boolean; pollingInterval?: number; }; export declare class ChatClient { username: string; identityId?: string; private rooms; private users; private eventManager; private graphql; private heartbeatInterval; private fallbackToPolling; private pollingInterval; constructor(opts: ChatClientOpts); on(eventName: ChatEventName, handler: ChatEventHandler): void; joinRoom(roomData: RoomData): Promise; getAllRooms(): Room[]; getRoom(roomId: string): Room; leaveRoom(roomId: string): Promise; typingStart(roomId: string): void; typingEnd(roomId: string): void; sendText(roomId: string, content: string, whisper?: boolean): Promise>; private sendHeartbeat; private sendTypeEvent; private getUser; private handleNewMessage; private setupPolling; private loadPreviousMessages; } export default ChatClient;