nostr-hooks
Version:
React hooks for developing Nostr clients
40 lines (39 loc) • 1.79 kB
TypeScript
import NDK, { NDKConstructorParams, NDKEvent } from '@nostr-dev-kit/ndk';
import { CreateSubscription, InitNdk, LoginData, LoginWithExtension, LoginWithPrivateKey, LoginWithRemoteSigner, RemoveSubscription, SetSigner, Subscriptions } from '../types';
type State = {
constructorParams: NDKConstructorParams | undefined;
ndk: NDK | undefined;
subscriptions: Subscriptions;
loginData: LoginData;
};
type Actions = {
initNdk: InitNdk;
setSigner: SetSigner;
createSubscription: CreateSubscription;
removeSubscription: RemoveSubscription;
addEvent: (subId: string, event: NDKEvent, replaceOlderReplaceableEvents?: boolean) => void;
setEose: (subId: string, eose: boolean) => void;
setHasMore: (subId: string, hasMore: boolean) => void;
loadMore: (subId: string, limit?: number, since?: number | null) => void;
loginWithExtension: LoginWithExtension;
loginWithRemoteSigner: LoginWithRemoteSigner;
loginWithPrivateKey: LoginWithPrivateKey;
loginFromLocalStorage: () => void;
logout: () => void;
};
export declare const useStore: import("zustand").UseBoundStore<Omit<import("zustand").StoreApi<State & Actions>, "persist"> & {
persist: {
setOptions: (options: Partial<import("zustand/middleware").PersistOptions<State & Actions, {
loginData: LoginData;
}>>) => void;
clearStorage: () => void;
rehydrate: () => Promise<void> | void;
hasHydrated: () => boolean;
onHydrate: (fn: (state: State & Actions) => void) => () => void;
onFinishHydration: (fn: (state: State & Actions) => void) => () => void;
getOptions: () => Partial<import("zustand/middleware").PersistOptions<State & Actions, {
loginData: LoginData;
}>>;
};
}>;
export {};