import { ReduckContext, Context, OnMountHook, Actions, Computed } from "../types"; type ModelInitialParams = [context: ReduckContext, hook: { use: Context['apis']['useModel']; onMount: OnMountHook; }]; type ExtDesc = { actions?: Actions; computed?: Computed; }; type ModelFn = (name: string) => { define: ( & { state: S; } = ExtDesc & { state: S; }, Resp = { _name: string; _: Omit & { state: State extends void ? S : State; }; }>(c: (...args: ModelInitialParams) => M & { state: S; }) => Resp & ((ns: string) => Resp & ((ns: string) => Resp)) & { state: State extends void ? S : State; }) & ( & { state: S; } = ExtDesc & { state: S; }, Resp = { _name: string; _: Omit & { state: State extends void ? S : State; }; }>(c: M & { state: S; }) => Resp & { (ns: string): Resp & ((ns: string) => Resp); _name: string; _: Omit & { state: State extends void ? S : State; }; }); }; declare const model: ModelFn; export default model;