import { PayloadAction } from '@reduxjs/toolkit';
import { DeleteModal, IConfig, Iso639_1Codes, IUser, ModalFile, ModalType, User } from '../types/types';

interface ChatState {
    user: User;
    config?: IConfig;
    activeModal?: ModalType;
    deleteModal?: DeleteModal;
    selectedUser?: IUser;
    activeFile?: ModalFile;
    langSource?: Iso639_1Codes;
}
export declare const chatSlice: import('@reduxjs/toolkit').Slice<ChatState, {
    setUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<User>) => void;
    updateUser(state: import('immer').WritableDraft<ChatState>, action: PayloadAction<{
        updates: Partial<User>;
    }>): void;
    setConfig: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IConfig | undefined>) => void;
    setActiveModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<ModalType | undefined>) => void;
    setActiveFile: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<ModalFile>) => void;
    setDeleteModal: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<DeleteModal | undefined>) => void;
    setSelectedUser: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<IUser | undefined>) => void;
    setLangSource: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<Iso639_1Codes | undefined>) => void;
    refreshTokens: (state: import('immer').WritableDraft<ChatState>, action: PayloadAction<{
        token: string;
        refreshToken: string;
    }>) => void;
    logout: (state: import('immer').WritableDraft<ChatState>) => void;
}, "chatSettingStore", "chatSettingStore", import('@reduxjs/toolkit').SliceSelectors<ChatState>>;
export declare const setUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<User, "chatSettingStore/setUser">, setConfig: import('@reduxjs/toolkit').ActionCreatorWithNonInferrablePayload<"chatSettingStore/setConfig">, refreshTokens: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
    token: string;
    refreshToken: string;
}, "chatSettingStore/refreshTokens">, logout: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"chatSettingStore/logout">, setActiveModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<string, "chatSettingStore/setActiveModal">, setDeleteModal: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<DeleteModal, "chatSettingStore/setDeleteModal">, setSelectedUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<IUser, "chatSettingStore/setSelectedUser">, updateUser: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<{
    updates: Partial<User>;
}, "chatSettingStore/updateUser">, setActiveFile: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<ModalFile, "chatSettingStore/setActiveFile">, setLangSource: import('@reduxjs/toolkit').ActionCreatorWithOptionalPayload<Iso639_1Codes, "chatSettingStore/setLangSource">;
declare const _default: import('redux').Reducer<ChatState>;
export default _default;
