import { IQUser, IQChatRoom, IQMessage } from './model'; import type { Storage } from './storage'; export declare const makeApiRequest: (storage: Storage) => { request: (api: Partial) => Promise; }; export type ApiRequester = ReturnType; type ApiRequest = (o: O) => Partial; export type Api = { baseUrl?: string; method: 'get' | 'post' | 'put' | 'patch' | 'delete'; url: string; params?: Record; headers?: Record; body?: Record; }; export type withHeaders = { headers: { 'qiscus-sdk-app-id': string; 'qiscus-sdk-version': string; }; }; export type withCredentials = { headers: { 'qiscus-sdk-token': string; 'qiscus-sdk-user-id': string; }; } & withHeaders; export type loginOrRegisterParams = { userId: string; userKey: string; username?: string; avatarUrl?: string; deviceToken?: string; extras?: Record; }; export declare const loginOrRegister: ApiRequest; export declare const getNonce: ApiRequest; export declare const verifyIdentityToken: ApiRequest<{ identityToken: string; } & withHeaders>; export declare const getProfile: ApiRequest; export declare const patchProfile: ApiRequest & withCredentials>; export declare const getUserList: ApiRequest<{ page?: number; limit?: number; query?: string; } & withCredentials>; export declare const blockUser: ApiRequest<{ userId: IQUser['id']; } & withCredentials>; export declare const unblockUser: ApiRequest<{ userId: IQUser['id']; } & withCredentials>; export declare const getBlockedUsers: ApiRequest<{ page?: number; limit?: number; } & withCredentials>; export declare const getTotalUnreadCount: ApiRequest<{} & withCredentials>; export declare const getRoomUnreadCount: ApiRequest; export declare const createRoom: ApiRequest<{ name: string; userIds: IQUser['id'][]; avatarUrl?: IQChatRoom['avatarUrl']; extras?: IQChatRoom['extras']; } & withCredentials>; export declare const getOrCreateRoomWithTarget: ApiRequest<{ userIds: IQUser['id'][]; extras?: IQChatRoom['extras']; } & withCredentials>; export declare const getOrCreateRoomWithUniqueId: ApiRequest<{ uniqueId: string; name?: string; avatarUrl?: string; options?: Record; } & withCredentials>; export declare const getRoomById: ApiRequest<{ id: IQChatRoom['id']; } & withCredentials>; export declare const updateRoom: ApiRequest<{ id: IQChatRoom['id']; name?: IQChatRoom['name']; avatarUrl?: IQChatRoom['avatarUrl']; extras?: IQChatRoom['extras']; } & withCredentials>; export declare const getUserRooms: ApiRequest<{ page?: number; limit?: number; type?: IQChatRoom['type']; showParticipants?: boolean; showRemoved?: boolean; showEmpty?: boolean; } & withCredentials>; export declare const getRoomInfo: ApiRequest<{ roomIds?: IQChatRoom['id'][]; roomUniqueIds?: IQChatRoom['uniqueId'][]; showParticipants?: boolean; showRemoved?: boolean; page?: number; } & withCredentials>; export declare const getRoomParticipants: ApiRequest<{ uniqueId: IQChatRoom['uniqueId']; page?: number; limit?: number; sorting?: 'asc' | 'desc'; } & withCredentials>; export declare const addRoomParticipants: ApiRequest<{ id: IQChatRoom['id']; userIds: IQUser['id'][]; } & withCredentials>; export declare const removeRoomParticipants: ApiRequest<{ id: IQChatRoom['id']; userIds: IQUser['id'][]; } & withCredentials>; export declare const postComment: ApiRequest<{ roomId: IQChatRoom['id']; text: IQMessage['text']; uniqueId: IQMessage['uniqueId']; type: IQMessage['type']; payload?: IQMessage['payload']; extras?: IQMessage['extras']; } & withCredentials>; export declare const getComment: ApiRequest<{ roomId: IQChatRoom['id']; lastMessageId: IQMessage['id']; after?: boolean; limit?: number; } & withCredentials>; export declare const updateCommentStatus: ApiRequest<{ roomId: IQChatRoom['id']; lastReadId?: IQMessage['id']; lastReceivedId?: IQMessage['id']; } & withCredentials>; export declare const searchMessages: ApiRequest<{ query: string; roomId?: IQChatRoom['id']; page?: number; } & withCredentials>; export declare const deleteMessages: ApiRequest<{ uniqueIds: IQMessage['uniqueId'][]; } & withCredentials>; export declare const clearRooms: ApiRequest<{ uniqueIds: IQChatRoom['uniqueId'][]; } & withCredentials>; export declare const setDeviceToken: ApiRequest<{ deviceToken: string; isDevelopment?: boolean; } & withCredentials>; export declare const removeDeviceToken: ApiRequest<{ deviceToken: string; isDevelopment?: boolean; } & withCredentials>; export declare const synchronize: ApiRequest<{ lastMessageId?: IQMessage['id']; limit?: number; } & withCredentials>; export declare const synchronizeEvent: ApiRequest<{ lastEventId?: string; } & withCredentials>; export declare const appConfig: ApiRequest; export declare const searchMessagesV2: ApiRequest<{ query: string; roomIds: number[]; userId?: string; type?: string; roomType?: string; page?: number; limit?: number; } & withCredentials>; export declare const getFileList: ApiRequest<{ roomIds?: number[]; fileType?: string; page?: number; limit?: number; sender: string; includeExtensions?: string[]; excludeExtensions?: string[]; } & withCredentials>; export declare const updateMessage: ApiRequest<{ token: string; uniqueId: string; comment: string; extras?: Record; payload?: Record; } & withCredentials>; export declare const getMqttNode: (s: Storage) => ApiRequest; export {};