import { BasicFun } from "../fun/state"; import { BasicUpdater } from "../fun/domains/updater/state"; import { Unit } from "../../main"; export type View = (props: HeadlessTemplateProps & embeddedChildren) => JSX.Element; export type HeadlessTemplateProps = { context: context; setState: BasicFun, void>; foreignMutations: foreignMutations; }; export type TemplateChildren = JSX.Element | JSX.Element[]; export type Wrapper = BasicFun<{ children?: TemplateChildren; }, JSX.Element>; export type TemplateProps = { context: context; setState: BasicFun, void>; foreignMutations: foreignMutations; view: view; children?: TemplateChildren; }; type TemplateRunner = (props: TemplateProps) => JSX.Element; export type Template = { any: BasicFun>, Template>; wrap: (Wrapper: Wrapper) => Template; withView: (view: view) => Template; withViewFromProps: (f: BasicFun, view>) => Template; mapState: (f: BasicFun, BasicUpdater>) => Template; mapStateFromProps: (f: BasicFun<[ TemplateProps, BasicUpdater ], BasicUpdater>) => Template; mapContext: (f: BasicFun) => Template; mapForeignMutations: (f: BasicFun) => Template; mapContextFromProps: (f: BasicFun, context | undefined>) => Template; mapForeignMutationsFromProps: (f: BasicFun, foreignMutations>) => Template; mapView: (f: BasicFun) => Template; mapViewFromProps: (f: BasicFun, view>) => Template; } & TemplateRunner; export declare const createTemplate: (actual: TemplateRunner) => Template; export declare const Template: { Default: (actual: TemplateRunner) => Template; Operations: { Wrap: (p: Template, Wrapper: BasicFun<{ children?: TemplateChildren; }, JSX.Element>) => Template; WithView: (p: Template, view: view) => Template; WithViewFromProps: (p: Template, f: BasicFun, view>) => Template; MapState: (p: Template, f: BasicFun, BasicUpdater>) => Template; MapStateFromProps: (p: Template, f: BasicFun<[TemplateProps, BasicUpdater], BasicUpdater>) => Template; MapContext: (p: Template, f: BasicFun) => Template; MapForeignMutations: (p: Template, f: BasicFun) => Template; MapContextFromProps: (p: Template, f: BasicFun, context | undefined>) => Template; MapForeignMutationsFromProps: (p: Template, f: BasicFun, foreignMutations>) => Template; Any: (p: Template, others: Array>) => Template; MapView: (p: Template, f: BasicFun) => Template; MapViewFromProps: (p: Template, f: BasicFun, view>) => Template; }; }; export {}; //# sourceMappingURL=state.d.ts.map