import type { PayloadAction, SerializedError } from '@reduxjs/toolkit';
import type { Account, Capability } from '@openshift-assisted/types/accounts-management-service';
import type { StateSliceWithMeta } from '../../types/state-slice';
declare const currentUserAsyncActions: {
    getAccountAsync: import("@reduxjs/toolkit").AsyncThunk<void, void, {
        state?: unknown;
        dispatch?: import("redux").Dispatch;
        extra?: unknown;
        rejectValue?: unknown;
        serializedErrorType?: unknown;
        pendingMeta?: unknown;
        fulfilledMeta?: unknown;
        rejectedMeta?: unknown;
    }>;
    getUserOrganizationWithCapabilitiesAsync: import("@reduxjs/toolkit").AsyncThunk<void, string, {
        state?: unknown;
        dispatch?: import("redux").Dispatch;
        extra?: unknown;
        rejectValue?: unknown;
        serializedErrorType?: unknown;
        pendingMeta?: unknown;
        fulfilledMeta?: unknown;
        rejectedMeta?: unknown;
    }>;
    getCapabilitiesAsync: import("@reduxjs/toolkit").AsyncThunk<void, void, {
        state?: unknown;
        dispatch?: import("redux").Dispatch;
        extra?: unknown;
        rejectValue?: unknown;
        serializedErrorType?: unknown;
        pendingMeta?: unknown;
        fulfilledMeta?: unknown;
        rejectedMeta?: unknown;
    }>;
};
type AsyncThunkActions = (typeof currentUserAsyncActions)[keyof typeof currentUserAsyncActions];
type CurrentUserAsyncThunkActionCreators = ReturnType<AsyncThunkActions['pending']> | ReturnType<AsyncThunkActions['fulfilled']> | ReturnType<AsyncThunkActions['rejected']>;
export type CurrentUserState = StateSliceWithMeta<Omit<Account, 'capabilities'> | null, SerializedError | null>;
declare const currentUserActions: import("@reduxjs/toolkit").CaseReducerActions<{
    setMeta: (state: import("immer/dist/internal").WritableDraft<CurrentUserState>, action: PayloadAction<CurrentUserAsyncThunkActionCreators>) => import("immer/dist/internal").WritableDraft<CurrentUserState>;
    setAccount: (state: import("immer/dist/internal").WritableDraft<CurrentUserState>, action: PayloadAction<Account>) => import("immer/dist/internal").WritableDraft<CurrentUserState>;
    setOrganizationCapabilities: (state: import("immer/dist/internal").WritableDraft<CurrentUserState>, action: PayloadAction<Capability[]>) => import("immer/dist/internal").WritableDraft<CurrentUserState>;
}, "currentUser">;
declare const currentUserReducer: import("redux").Reducer<CurrentUserState>;
export { currentUserAsyncActions, currentUserActions, currentUserReducer };
//# sourceMappingURL=slice.d.ts.map