mt-flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
35 lines (34 loc) • 1.58 kB
TypeScript
import type { Session } from 'next-auth';
import type { LoginRequest } from '../validations/auth';
import type { MeResponse } from '../validations/user';
interface SessionState {
sessionData?: Session | null;
me?: MeResponse;
}
export interface SessionStore extends SessionState {
loadNextAuthSession: () => Promise<void>;
isLoadingMe: boolean;
loadMe: () => Promise<void>;
isAdmin: () => boolean;
login: (loginInput: LoginRequest) => Promise<void>;
}
export declare const useSessionStore: import("zustand").UseBoundStore<Omit<Omit<import("zustand").StoreApi<SessionStore>, "persist"> & {
persist: {
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SessionStore, SessionStore>>) => void;
clearStorage: () => void;
rehydrate: () => void | Promise<void>;
hasHydrated: () => boolean;
onHydrate: (fn: (state: SessionStore) => void) => () => void;
onFinishHydration: (fn: (state: SessionStore) => void) => () => void;
getOptions: () => Partial<import("zustand/middleware").PersistOptions<SessionStore, SessionStore>>;
};
}, "subscribe"> & {
subscribe: {
(listener: (selectedState: SessionStore, previousSelectedState: SessionStore) => void): () => void;
<U>(selector: (state: SessionStore) => U, listener: (selectedState: U, previousSelectedState: U) => void, options?: {
equalityFn?: ((a: U, b: U) => boolean) | undefined;
fireImmediately?: boolean | undefined;
} | undefined): () => void;
};
}>;
export {};