import { IUser } from "../types/db";
import { IHerdModule, EnumHerdModulesLoadingState } from "../types/herd_module";
export declare enum EnumScoutStateStatus {
    LOADING = "LOADING",
    DONE_LOADING = "DONE_LOADING"
}
export interface ScoutState {
    herd_modules: IHerdModule[];
    status: EnumScoutStateStatus;
    herd_modules_loading_state: EnumHerdModulesLoadingState;
    herd_modules_loaded_in_ms: number | null;
    herd_modules_api_duration_ms: number | null;
    user_api_duration_ms: number | null;
    data_processing_duration_ms: number | null;
    localStorage_duration_ms: number | null;
    active_herd_id: string | null;
    active_device_id: string | null;
    lastRefreshed: number;
    user: IUser | null;
}
export declare const scoutSlice: import("@reduxjs/toolkit").Slice<ScoutState, {
    setHerdModules: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setStatus: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setHerdModulesLoadingState: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setHerdModulesLoadedInMs: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setHerdModulesApiDuration: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setUserApiDuration: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setDataProcessingDuration: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setLocalStorageDuration: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setActiveHerdId: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setActiveDeviceId: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    replaceEventsForHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    appendEventsToHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    appendPlansToHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    updateDeviceForHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    addNewDeviceToHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    addTag(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    deleteTag(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    updateTag(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    addDevice(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    deleteDevice(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    updateDevice(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    addPlan(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    deletePlan(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    updatePlan(state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }): void;
    updateEventValuesForHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    updatePageIndexForHerdModule: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    addSessionToStore: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    deleteSessionFromStore: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    updateSessionInStore: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
    setUser: (state: import("immer").WritableDraft<ScoutState>, action: {
        payload: any;
        type: string;
    }) => void;
}, "scout", "scout", import("@reduxjs/toolkit").SliceSelectors<ScoutState>>;
export declare const setHerdModules: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setHerdModules">, setStatus: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setStatus">, setHerdModulesLoadingState: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setHerdModulesLoadingState">, setHerdModulesLoadedInMs: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setHerdModulesLoadedInMs">, setHerdModulesApiDuration: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setHerdModulesApiDuration">, setUserApiDuration: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setUserApiDuration">, setDataProcessingDuration: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setDataProcessingDuration">, setLocalStorageDuration: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setLocalStorageDuration">, setActiveHerdId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setActiveHerdId">, setActiveDeviceId: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setActiveDeviceId">, appendEventsToHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/appendEventsToHerdModule">, replaceEventsForHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/replaceEventsForHerdModule">, updateEventValuesForHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updateEventValuesForHerdModule">, updatePageIndexForHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updatePageIndexForHerdModule">, appendPlansToHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/appendPlansToHerdModule">, setUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/setUser">, addTag: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/addTag">, deleteTag: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/deleteTag">, updateTag: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updateTag">, addNewDeviceToHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/addNewDeviceToHerdModule">, updateDeviceForHerdModule: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updateDeviceForHerdModule">, addDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/addDevice">, deleteDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/deleteDevice">, updateDevice: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updateDevice">, addPlan: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/addPlan">, deletePlan: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/deletePlan">, updatePlan: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updatePlan">, addSessionToStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/addSessionToStore">, deleteSessionFromStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/deleteSessionFromStore">, updateSessionInStore: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scout/updateSessionInStore">;
declare const _default: import("redux").Reducer<ScoutState>;
export default _default;
