import type { Group } from '@mattermost/types/groups';
import type { GlobalState } from '@mattermost/types/store';
import type { UserMentionKey } from 'mattermost-redux/selectors/entities/users';
export declare function getAllGroups(state: GlobalState): Record<string, Group>;
export declare const getAllGroupsByName: (state: GlobalState) => Record<string, Group>;
export declare function getMyGroupIds(state: GlobalState): string[];
export declare function getAllGroupStats(state: GlobalState): import("@mattermost/types/utilities").RelationOneToOne<Group, import("@mattermost/types/groups").GroupStats>;
export declare function getGroupStats(state: GlobalState, id: string): import("@mattermost/types/groups").GroupStats;
export declare function getGroup(state: GlobalState, id: string): Group;
export declare function getGroupMemberCount(state: GlobalState, id: string): number;
export declare function getGroupTeams(state: GlobalState, id: string): import("@mattermost/types/groups").GroupTeam[];
export declare function getGroupChannels(state: GlobalState, id: string): import("@mattermost/types/groups").GroupChannel[];
export declare const getAllCustomGroups: (state: GlobalState) => Group[];
export declare const getGroupsAssociatedToTeamForReference: (state: GlobalState, teamID: string) => Group[];
export declare const getAssociatedGroupsForReference: (state: GlobalState, teamId: string, channelId?: string) => Group[];
export declare const getAssociatedGroupsByName: (state: GlobalState, teamID: string, channelId: string) => Record<string, Group>;
export declare const getAssociatedGroupsForReferenceByMention: (state: GlobalState, teamID: string, channelId?: string) => Map<string, Group>;
export declare function searchAssociatedGroupsForReferenceLocal(state: GlobalState, term: string, teamId: string, channelId: string): Group[];
export declare const getMyGroups: (state: GlobalState) => Group[];
export declare const getGroupsNotAssociatedToTeam: (state: GlobalState, teamID: string) => Group[];
export declare const getGroupsAssociatedToTeam: (state: GlobalState, teamID: string) => Group[];
export declare const getGroupsNotAssociatedToChannel: (state: GlobalState, channelID: string, teamID: string) => Group[];
export declare const getGroupsAssociatedToChannel: (state: GlobalState, channelID: string) => Group[];
export declare const getGroupsAssociatedToChannelForReference: (state: GlobalState, channelID: string) => Group[];
export declare const makeGetAllAssociatedGroupsForReference: () => import("mattermost-redux/selectors/create_selector").OutputParametricSelector<GlobalState, boolean, Group[], (res1: Record<string, Group>, res2: string, res3: boolean) => Group[]>;
export declare const getAllGroupsForReferenceByName: (state: GlobalState) => Record<string, Group>;
export declare const makeGetMyAllowReferencedGroups: () => import("mattermost-redux/selectors/create_selector").OutputParametricSelector<GlobalState, boolean, Group[], (res1: Group[], res2: string, res3: boolean) => Group[]>;
export declare const getMyGroupsAssociatedToChannelForReference: (state: GlobalState, teamId: string, channelId: string) => Group[];
export declare const getMyGroupMentionKeys: (state: GlobalState, includeArchived: boolean) => UserMentionKey[];
export declare const getMyGroupMentionKeysForChannel: (state: GlobalState, teamId: string, channelId: string) => UserMentionKey[];
export declare const searchAllowReferencedGroups: (state: GlobalState, term: string, includeArchived: boolean) => Group[];
export declare const searchMyAllowReferencedGroups: (state: GlobalState, term: string, includeArchived: boolean) => Group[];
export declare const isMyGroup: (state: GlobalState, groupId: string) => boolean;
export declare const getArchivedGroups: (state: GlobalState) => Group[];
export declare const searchArchivedGroups: (state: GlobalState, term: string) => Group[];
