import { SearchCloudMessagesParams, IGroupModel, IMessageModel } from '@tencentcloud/chat-uikit-engine';
import { ISearchCloudMessageResult, IFriendType, ISearchResultListItem, IUserProfile } from '../../interface';

/**************************************
 * TUISearch search logic
 **************************************/
export declare const searchCloudMessages: (params: SearchCloudMessagesParams) => Promise<{
    data: ISearchCloudMessageResult;
}>;
export declare const searchFriends: (userIDList: any[]) => Promise<any[]>;
export declare const searchGroups: (groupIDList: any[]) => Promise<any[]>;
/**************************************
 * TUISearch interaction logic
 **************************************/
export declare const enterConversation: (item: {
    conversationID?: string;
    groupID?: string;
    userID?: string;
}) => void;
/**************************************
 * TUISearch UI display logic
 **************************************/
export declare const generateSearchResultShowName: (result: IMessageModel | ISearchResultListItem | IGroupModel | IFriendType | IUserProfile, resultContent: Record<string, string>) => string;
export declare const generateSearchResultAvatar: (result: IMessageModel | ISearchResultListItem | IGroupModel | IFriendType | IUserProfile) => string;
export declare const generateSearchResultShowContent: (result: IMessageModel | ISearchResultListItem | IGroupModel | IUserProfile, resultType: string, keywordList: any[], isTypeShow?: boolean) => any[];
export declare const generateMessageContentHighlight: (content: string, keywordList: any[]) => any[];
export declare const generateSearchResultTime: (timestamp: number) => string;
export declare const generateSearchResultYMD: (timestamp: number) => string;
export declare const debounce: <F extends (...args: any[]) => void>(func: F, waitFor: number) => (...args: Parameters<F>) => ReturnType<F>;
