import { Quote, AttachmentPointer, Preview } from '../../ts/session/messages/outgoing'; interface UploadResponse { url: string; id?: number; } export interface LokiAppDotNetServerInterface { setAvatar(url: any, profileKey: any); findOrCreateChannel( api: LokiPublicChatFactoryAPI, channelId: number, conversationId: string ): Promise; uploadData(data: FormData): Promise; uploadAvatar(data: FormData): Promise; putAttachment(data: ArrayBuffer): Promise; putAvatar(data: ArrayBuffer): Promise; downloadAttachment(url: String): Promise; serverRequest(endpoint: string): Promise; } export interface LokiPublicChannelAPI { banUser(source: string): Promise; getModerators: () => Promise>; serverAPI: any; deleteMessages(arg0: any[]); sendMessage( data: { quote?: Quote; attachments: Array; preview: Array; body?: string; }, timestamp: number ): Promise<{ serverId; serverTimestamp }>; } declare class LokiAppDotNetServerAPI implements LokiAppDotNetServerInterface { public baseServerUrl: string; constructor(ourKey: string, url: string); } export default LokiAppDotNetServerAPI;