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>;
};
