crann
Version:
Effortless State Synchronization for Web Extensions
9 lines (8 loc) • 575 B
TypeScript
import { AnyConfig, DerivedState, StateChanges } from "../model/crann.model";
export declare function createCrannStateHook<TConfig extends AnyConfig>(config: TConfig): (context?: string) => {
useStateItem: <K extends keyof DerivedState<TConfig>>(key: K) => readonly [DerivedState<TConfig>[K], (newValue: DerivedState<TConfig>[K]) => void];
getState: () => DerivedState<TConfig>;
setState: (newState: StateChanges<TConfig>) => void;
useCrann: import("../model/crann.model").UseCrann<TConfig>;
callAction: (name: string, ...args: any[]) => Promise<any>;
};