import { PayloadAction } from '@reduxjs/toolkit'; import type { SublayState } from '../sublayReducers'; 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) => void; clearUser: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }) => void; setProjectContext: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }, action: PayloadAction) => void; setLoading: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }, action: PayloadAction) => void; setUpdating: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }, action: PayloadAction) => void; setError: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }, action: PayloadAction) => void; clearError: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }) => void; updateUserOptimistic: (state: { user: { id: string; projectId: string; foreignId: string | null; role: import("../..").UserRole; email: string | null; name: string | null; username: string | null; avatar: string | null; avatarFileId: string | null; bannerFileId: string | null; avatarFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bannerFile?: { id: string; projectId: string; userId: string | null; entityId: string | null; commentId: string | null; chatMessageId: string | null; spaceId: string | null; type: "image" | "video" | "document" | "other"; originalPath: string; originalSize: number; originalMimeType: string; position: number; metadata: { [x: string]: any; }; image?: { fileId: string; originalWidth: number; originalHeight: number; variants: { [x: string]: { path: string; publicPath: string; width: number; height: number; size: number; format: string; }; }; processingStatus: "completed" | "failed"; processingError: string | null; format: string; quality: number; exifStripped: boolean; createdAt: string; updatedAt: string; } | undefined; createdAt: string; updatedAt: string; } | null | undefined; bio: string | null; birthdate: string | null; location: { type: "Point"; coordinates: [number, number]; } | null; metadata: { [x: string]: any; }; reputation: number; spaceReputation?: number | undefined; isVerified: boolean; isActive: boolean; lastActive: string; createdAt: string; updatedAt: string; suspensions: { reason: string | null; startDate: string; endDate: string | null; }[]; authMethods: string[]; } | null; loading: boolean; updating: boolean; currentProjectId?: string | undefined; error: string | null; }, action: PayloadAction>) => void; }, "user", "user", import("@reduxjs/toolkit").SliceSelectors>; export declare const setUser: import("@reduxjs/toolkit").ActionCreatorWithPayload, clearUser: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"user/clearUser">, setProjectContext: import("@reduxjs/toolkit").ActionCreatorWithPayload, setLoading: import("@reduxjs/toolkit").ActionCreatorWithPayload, setUpdating: import("@reduxjs/toolkit").ActionCreatorWithPayload, setError: import("@reduxjs/toolkit").ActionCreatorWithPayload, clearError: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"user/clearError">, updateUserOptimistic: import("@reduxjs/toolkit").ActionCreatorWithPayload, "user/updateUserOptimistic">; export declare const selectUser: (state: { sublay: SublayState; }) => AuthUser | null; export declare const selectUserLoading: (state: { sublay: SublayState; }) => boolean; export declare const selectUserUpdating: (state: { sublay: SublayState; }) => boolean; export declare const selectCurrentProjectId: (state: { sublay: SublayState; }) => string | undefined; export declare const selectUserError: (state: { sublay: SublayState; }) => string | null; export declare const selectUserById: (userId: string) => (state: { sublay: SublayState; }) => AuthUser | null; export declare const userReducer: import("@reduxjs/toolkit").Reducer; export default userSlice;