import type { AccessControlPoliciesResult, AccessControlPolicy, AccessControlPolicyActiveUpdate, AccessControlTestResult } from '@mattermost/types/access_control'; import type { ChannelSearchOpts, ChannelsWithTotalCount } from '@mattermost/types/channels'; import type { ActionFuncAsync } from 'mattermost-redux/types/actions'; export declare function getAccessControlPolicy(id: string, channelId?: string): ActionFuncAsync; export declare function createAccessControlPolicy(policy: AccessControlPolicy): ActionFuncAsync; export declare function deleteAccessControlPolicy(id: string): ActionFuncAsync; export declare function searchAccessControlPolicies(term: string, type: string, after: string, limit: number): ActionFuncAsync; export declare function searchAccessControlPolicyChannels(id: string, term: string, opts: ChannelSearchOpts): ActionFuncAsync; export declare function assignChannelsToAccessControlPolicy(policyId: string, channelIds: string[]): ActionFuncAsync; export declare function unassignChannelsFromAccessControlPolicy(policyId: string, channelIds: string[]): ActionFuncAsync; export declare function getAccessControlFields(after: string, limit: number, channelId?: string): ActionFuncAsync; export declare function searchUsersForExpression(expression: string, term: string, after: string, limit: number, channelId?: string): ActionFuncAsync; export declare function getVisualAST(expression: string, channelId?: string): ActionFuncAsync; export declare function validateExpressionAgainstRequester(expression: string, channelId?: string): ActionFuncAsync<{ requester_matches: boolean; }>; export declare function createAccessControlSyncJob(jobData: { policy_id: string; }): ActionFuncAsync; export declare function updateAccessControlPoliciesActive(states: AccessControlPolicyActiveUpdate[]): ActionFuncAsync;