UNPKG

@roochnetwork/rooch-sdk-kit

Version:
31 lines (30 loc) 1.36 kB
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 {};