import type { Channel } from '@mattermost/types/channels';
import type { ContentFlaggingConfig } from '@mattermost/types/content_flagging';
import type { Post } from '@mattermost/types/posts';
import type { NameMappedPropertyFields, PropertyValue } from '@mattermost/types/properties';
import type { Team } from '@mattermost/types/teams';
import type { ActionFuncAsync } from 'mattermost-redux/types/actions';
export type ContentFlaggingChannelRequestIdentifier = {
    channelId?: string;
    flaggedPostId?: string;
};
export type ContentFlaggingTeamRequestIdentifier = {
    teamId?: string;
    flaggedPostId?: string;
};
export declare function getTeamContentFlaggingStatus(teamId: string): ActionFuncAsync<{
    enabled: boolean;
}>;
export declare function getContentFlaggingConfig(teamId?: string): ActionFuncAsync<ContentFlaggingConfig>;
export declare function getPostContentFlaggingFields(): ActionFuncAsync<NameMappedPropertyFields>;
export declare function loadPostContentFlaggingFields(): ActionFuncAsync<NameMappedPropertyFields>;
export declare function loadFlaggedPost(flaggedPostId: string): ActionFuncAsync<Post>;
export declare function loadContentFlaggingChannel(identifier: ContentFlaggingChannelRequestIdentifier): ActionFuncAsync<Channel>;
export declare function loadContentFlaggingTeam(identifier: ContentFlaggingTeamRequestIdentifier): ActionFuncAsync<Team>;
export declare function getPostContentFlaggingValues(postId: string): ActionFuncAsync<Array<PropertyValue<unknown>>>;
