import { RoomList, RoomUser, UserList } from '../types/interfaces';
import { DialogProps, DialogPropsUsersContext, Volumes } from '../types';
export declare const useUsers: ({ userId, roomId, }: {
    userId: string | number;
    roomId: string | number;
}) => {
    users: UserList[];
    isOwner: boolean;
    banneds: RoomUser[];
    unBanWrapper: (target: string | number) => () => void;
    unblockChatWrapper: (target: string | number) => () => void;
    askeds: (string | number)[];
    speaker: string | number;
    muteds: (string | number)[];
    adminMuteds: (string | number)[];
    asked: boolean;
    chatBlockeds: (string | number)[];
};
export declare const useActions: ({ userId }: {
    userId: string | number;
}) => {
    changeMutedWrapper: ({ muted, id }: UserList) => () => void;
    changeAdminMutedWrapper: ({ adminMuted, id }: UserList) => () => void;
    askForTheFloorWrapper: ({ id }: UserList) => () => void;
};
export declare const useSortAdminMuted: ({ users, adminMuteds, }: {
    users: UserList[];
    adminMuteds: RoomList[any];
}) => UserList[];
export declare const useSortIsMe: ({ users, userId, }: {
    users: UserList[];
    userId: string | number;
}) => UserList[];
export declare const useSortSpeaker: ({ users, speaker, }: {
    users: UserList[];
    speaker: string | number;
}) => UserList[];
export declare const useMuteAll: ({ adminMuteds, users, }: {
    adminMuteds: RoomList[any];
    users: UserList[];
}) => {
    muteAllHandler: () => void;
    changeMuteForAllHandler: (e: React.ChangeEvent<HTMLInputElement>) => void;
    muteForAll: boolean;
};
export declare const useSettings: ({ isOwner }: {
    isOwner: boolean;
}) => {
    dialogSettings: Omit<DialogProps<DialogPropsUsersContext>, "children">;
    clickToBanWrapper: ({ unitId }: Omit<DialogProps<DialogPropsUsersContext>, 'children'>['context']) => () => void;
    onContextMenuWrapper: (context: DialogProps<DialogPropsUsersContext>['context']) => (ev: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
    clickToSetAdminWrapper: ({ unitId, isOwner, }: Omit<DialogProps<DialogPropsUsersContext>, 'children'>['context']) => () => void;
};
export declare const useVolume: ({ roomId }: {
    roomId: string | number;
}) => {
    dialogVolume: Omit<DialogProps<DialogPropsUsersContext>, "children">;
    volumes: Volumes;
    changeVolumeWrapper: (targetId: number | string) => (ev: {
        target: {
            value: React.ChangeEvent<HTMLInputElement>['target']['value'];
        };
    }) => void;
    clickToVolume: ({ target, isOwner }: {
        target: string | number;
        isOwner: boolean;
    }) => (ev: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
    volumeUserId: string;
};
