import { Client, Self, UserPreKeyList, UserPreKeyDataList, UserSeenByService, ClientSeenByService, ServiceMessage } from './Service'; import { AssetOptions, AssetAPI } from '../asset'; import { PreKey } from '../auth'; import { HttpClient, ProgressCallback } from '../http'; export declare class ServicesAPI { private readonly client; private readonly assetAPI; constructor(client: HttpClient, assetAPI: AssetAPI); static readonly URL: { ASSETS: string; BOT: string; CLIENT: string; CLIENTS: string; CONVERSATION: string; MESSAGES: string; PREKEYS: string; SELF: string; USERS: string; }; /** * Delete the service, thereby removing it from the conversation it is in. * * The service will receive a final `conversation.member-leave` message. */ deleteSelf(): Promise; /** * Fetch the service's own client information */ getClient(): Promise; /** * List the service's remaining prekey IDs. */ getClientPreKeys(): Promise; /** * Fetch a user's list of clients. */ getClientsByUserId(userId: string): Promise; /** * Fetch a user's list of clients. */ getConversation(userId: string): Promise; /** * Fetch the service's own user profile information. */ getSelf(): Promise; /** * Claim prekeys from one or more clients of one or more users. * * The result is a nested JSON object structure where the first-level keys * are user IDs and the second-level keys client IDs. The values paired with * the client IDs are the base64-encoded prekeys. */ postUserPreKeysList(userPreKeyList: UserPreKeyList): Promise; /** * Fetch other user's profiles. */ getUsers(ids: string[]): Promise; /** * List the service's remaining prekey IDs. */ postClientPreKeys(preKeys: PreKey[]): Promise; /** * Upload an asset. * Note that resumable uploads are not currently supported for services. */ postAsset(asset: Uint8Array, options?: AssetOptions, progressCallback?: ProgressCallback): import("../http").RequestCancelable<{ key: string; domain: string; token?: string | undefined; expires?: string | undefined; }>; /** * Download an asset. */ getAsset(assetId: string, token?: string | null, forceCaching?: boolean, progressCallback?: ProgressCallback): import("../http").RequestCancelable; /** * Delete an asset. */ deleteAsset(assetId: string): Promise; /** * Post an end-to-end encrypted generic message to the conversation the service is in. */ postMessage(messageData: ServiceMessage): Promise; } //# sourceMappingURL=ServicesAPI.d.ts.map