import { BeaconService, Query, BaseService, UsersService, User } from '@juicyllama/core'; import { Chat } from './chat.entity'; import { DeepPartial, Repository } from 'typeorm'; import { ChatMessage, ChatMessageService, ChatUsersService } from '../..'; type T = Chat; export declare class ChatService extends BaseService { readonly repository: Repository; readonly query: Query; readonly beaconService: BeaconService; readonly chatMessageService: ChatMessageService; readonly chatUsersService: ChatUsersService; readonly usersService: UsersService; constructor(repository: Repository, query: Query, beaconService: BeaconService, chatMessageService: ChatMessageService, chatUsersService: ChatUsersService, usersService: UsersService); create(data: DeepPartial): Promise; findByUserId(user_id: number): Promise; findAllByUserId(user_id: number): Promise; markAsRead(chat_id: number, user_id: number): Promise; postMessage(options: { chat_id: number; user_id: number; message: string; json?: any; }): Promise; systemMessage(chat_id: number, message: string, json?: any): Promise; getChatsByParticipants(user_ids: number[]): Promise; getUsers(chat_id: number): Promise; cleanse(chat: Chat): Chat; cleanseUser(user: any): any; sendPush(chat: Chat, result: ChatMessage): Promise; } export {};