import { PayloadAction } from '@reduxjs/toolkit';
import { IAppSettingsResponse } from '@ws-ui/shared';
import { TSetSettingPayload, TSettingPath } from './types';

export interface ISettingsState {
    session: {
        [key: string]: unknown;
    };
    project: {
        [key: string]: unknown;
    };
    server: IAppSettingsResponse;
    welcometour: {
        [key: string]: unknown;
    };
}
declare const stateSlice: import('@reduxjs/toolkit').Slice<ISettingsState, {
    setSetting(state: ISettingsState, action: TSetSettingPayload): void;
    setSettings(state: ISettingsState, action: PayloadAction<{
        path: TSettingPath;
        value: any;
    }>): void;
    setSettingsAsText(state: ISettingsState, action: PayloadAction<{
        path: TSettingPath;
        settings: {
            [key: string]: unknown;
        };
    }>): void;
}, "settings">;
export declare const setSetting: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    path: TSettingPath;
    settingsKey: string;
    value: any;
}, "settings/setSetting">, setSettings: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    path: TSettingPath;
    value: any;
}, "settings/setSettings">, setSettingsAsText: import('@reduxjs/toolkit').ActionCreatorWithPayload<{
    path: TSettingPath;
    settings: {
        [key: string]: unknown;
    };
}, "settings/setSettingsAsText">;
export default stateSlice;
