@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
30 lines (29 loc) • 2.75 kB
TypeScript
import { PayloadAction } from '@reduxjs/toolkit';
import type { RootState } from '../index';
import type { AuthUser } from '../../interfaces/models/User';
export interface UserState {
user: AuthUser | null;
loading: boolean;
updating: boolean;
currentProjectId?: string;
error: string | null;
}
declare const userSlice: import("@reduxjs/toolkit").Slice<UserState, {
setUser: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<AuthUser | null>) => void;
clearUser: (state: import("@reduxjs/toolkit").WritableDraft<UserState>) => void;
setProjectContext: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<string>) => void;
setLoading: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<boolean>) => void;
setUpdating: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<boolean>) => void;
setError: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<string | null>) => void;
clearError: (state: import("@reduxjs/toolkit").WritableDraft<UserState>) => void;
updateUserOptimistic: (state: import("@reduxjs/toolkit").WritableDraft<UserState>, action: PayloadAction<Partial<AuthUser>>) => void;
}, "user", "user", import("@reduxjs/toolkit").SliceSelectors<UserState>>;
export declare const setUser: import("@reduxjs/toolkit").ActionCreatorWithPayload<AuthUser | null, "user/setUser">, clearUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"user/clearUser">, setProjectContext: import("@reduxjs/toolkit").ActionCreatorWithPayload<string, "user/setProjectContext">, setLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "user/setLoading">, setUpdating: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "user/setUpdating">, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload<string | null, "user/setError">, clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"user/clearError">, updateUserOptimistic: import("@reduxjs/toolkit").ActionCreatorWithPayload<Partial<AuthUser>, "user/updateUserOptimistic">;
export declare const selectUser: (state: RootState) => AuthUser | null;
export declare const selectUserLoading: (state: RootState) => boolean;
export declare const selectUserUpdating: (state: RootState) => boolean;
export declare const selectCurrentProjectId: (state: RootState) => string | undefined;
export declare const selectUserError: (state: RootState) => string | null;
export declare const selectUserById: (userId: string) => (state: RootState) => AuthUser | null;
export declare const userReducer: import("@reduxjs/toolkit").Reducer<UserState>;
export default userSlice;