import type { AnyAction } from 'redux';
import type { Channel, ChannelMembership, ChannelStats } from '@mattermost/types/channels';
import type { Team } from '@mattermost/types/teams';
import type { RelationOneToManyUnique, RelationOneToOne, IDMappedObjects } from '@mattermost/types/utilities';
import type { MMReduxAction } from 'mattermost-redux/action_types';
export declare function myMembers(state: RelationOneToOne<Channel, ChannelMembership> | undefined, action: MMReduxAction): any;
export declare function manuallyUnread(state: RelationOneToOne<Channel, boolean> | undefined, action: MMReduxAction): RelationOneToOne<Channel, boolean>;
export declare function channelModerations(state: any, action: MMReduxAction): any;
export declare function channelMemberCountsByGroup(state: any, action: MMReduxAction): any;
declare const _default: import("redux").Reducer<{
    currentChannelId: any;
    channels: IDMappedObjects<Channel>;
    channelsInTeam: RelationOneToManyUnique<Team, Channel>;
    myMembers: any;
    roles: RelationOneToOne<Channel, Set<string>>;
    membersInChannel: any;
    stats: RelationOneToOne<Channel, ChannelStats>;
    groupsAssociatedToChannel: any;
    totalCount: any;
    manuallyUnread: RelationOneToOne<Channel, boolean>;
    channelModerations: any;
    channelMemberCountsByGroup: any;
    messageCounts: RelationOneToOne<Channel, import("@mattermost/types/channels").ChannelMessageCount>;
    channelsMemberCount: any;
    restrictedDMs: RelationOneToOne<Channel, boolean>;
}, AnyAction, Partial<{
    currentChannelId: string | undefined;
    channels: IDMappedObjects<Channel> | undefined;
    channelsInTeam: RelationOneToManyUnique<Team, Channel> | undefined;
    myMembers: RelationOneToOne<Channel, ChannelMembership> | undefined;
    roles: RelationOneToOne<Channel, Set<string>> | undefined;
    membersInChannel: RelationOneToOne<Channel, Record<string, ChannelMembership>> | undefined;
    stats: RelationOneToOne<Channel, ChannelStats> | undefined;
    groupsAssociatedToChannel: any;
    totalCount: number | undefined;
    manuallyUnread: RelationOneToOne<Channel, boolean> | undefined;
    channelModerations: any;
    channelMemberCountsByGroup: any;
    messageCounts: RelationOneToOne<Channel, import("@mattermost/types/channels").ChannelMessageCount> | undefined;
    channelsMemberCount: Record<string, number> | undefined;
    restrictedDMs: RelationOneToOne<Channel, boolean> | undefined;
}>>;
export default _default;
