import type { PostList, Post } from '@mattermost/types/posts'; import type { UserProfile } from '@mattermost/types/users'; import type { ActionFunc, ActionFuncAsync, ThunkActionFunc } from 'mattermost-redux/types/actions'; /** * Adds list(s) of user id(s) to the status fetching poll. Which gets fetched based on user interval polling duration * Do not use if status is required immediately. */ export declare function addUserIdsForStatusFetchingPoll(userIdsForStatus: Array): ActionFunc; /** * Adds list(s) of user id(s) to the profile fetching poll. Which gets fetched based on user interval polling duration * Do not use if profile is required immediately. */ export declare function addUserIdsForProfileFetchingPoll(userIdsForProfile: Array): ActionFunc; export declare function cleanUpStatusAndProfileFetchingPoll(): ThunkActionFunc; interface UserIdsAndMentions { userIdsForProfilePoll: Array; userIdsForStatusPoll: Array; mentionedUsernamesAndGroups: string[]; } export declare function extractUserIdsAndMentionsFromPosts(posts: Post[]): ActionFunc; /** * Gets in batch the user profiles, user statuses and user groups for the users in the posts list * This action however doesn't refetch the profiles and statuses except for groups if they are already fetched once */ export declare function batchFetchStatusesProfilesGroupsFromPosts(postsArrayOrMap: Post[] | PostList['posts'] | Post): ActionFunc; export declare function getUsersFromMentionedUsernamesAndGroups(usernamesAndGroups: string[], isLicensed: boolean): ActionFuncAsync; export {};