@roochnetwork/rooch-sdk-kit
Version:
Rooch SDK Kit
31 lines (30 loc) • 1.36 kB
TypeScript
import { StateStorage } from 'zustand/middleware';
import { CreateSessionArgs, Session } from '@roochnetwork/rooch-sdk';
export type SessionActions = {
addSession: (session: Session) => void;
setCurrentSession: (session?: Session) => void;
removeSession: (session: Session) => void;
};
export type SessionStoreState = {
sessions: Session[];
currentSession: Session | null;
sessionConf: CreateSessionArgs | undefined;
} & SessionActions;
export type SessionStore = ReturnType<typeof createSessionStore>;
type SessionConfiguration = {
storage: StateStorage;
storageKey: string;
sessionConf?: CreateSessionArgs;
};
export declare function createSessionStore({ storage, storageKey, sessionConf }: SessionConfiguration): Omit<import("zustand").StoreApi<SessionStoreState>, "persist"> & {
persist: {
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<SessionStoreState, unknown>>) => void;
clearStorage: () => void;
rehydrate: () => Promise<void> | void;
hasHydrated: () => boolean;
onHydrate: (fn: (state: SessionStoreState) => void) => () => void;
onFinishHydration: (fn: (state: SessionStoreState) => void) => () => void;
getOptions: () => Partial<import("zustand/middleware").PersistOptions<SessionStoreState, unknown>>;
};
};
export {};