import { BaseMessage, Group, User } from '@cometchat/chat-sdk-javascript';
import { Ref, WatchHandle } from 'vue';
import { ParticipantInfo, PersonSettings, SearchedItems, UserChatInfo } from './types';
export declare const userChats: Ref<UserChatInfo[]>;
export declare function getGroup(groupUid: string): Promise<Group | null | undefined>;
export declare function clearGroupChatCount(groupUid: string): Promise<void>;
export declare function getGroupOnlineCount(groupUid: string): Promise<number>;
export declare function getGroupMembersInfo(groupUid: string): Promise<ParticipantInfo[]>;
export declare function getUserChats(): Promise<UserChatInfo[]>;
export declare function clearUserChats(): void;
export declare function restoreUserChatsFromOfflineStore(): UserChatInfo[];
export declare function installUserChatsSync(initialized: Ref<boolean>): WatchHandle;
export declare function searchChat(searchQuery: string, limit?: number): SearchedItems | undefined;
export declare function scrollToMessage(messageId: string): void;
export declare function getSenderDisplayName(message: BaseMessage | undefined, group?: Ref<Group | undefined>): any;
export declare function getMessageTextPreview(message?: BaseMessage, showEmoji?: boolean, showAttachmentName?: boolean): string;
export declare function proxyImage(imageUrl: string): string;
export declare function getMutedUntil(chatUid: string): Promise<string | null>;
export declare function muteChat(chatUid: string, mutedUntil: string | null): Promise<string | null>;
export declare function getMyChatSettings(): Promise<PersonSettings>;
export declare function updateMyChatSettings(settings: Partial<PersonSettings>): Promise<PersonSettings>;
export declare function setMuteAll(mute: boolean): Promise<boolean>;
export declare function toggleMuteAll(): Promise<boolean>;
export declare function toMarkdownHtml(str: string, mentionedUsers?: User[]): string;
