/// import { C, Cont, CmdCommon, Context } from './core'; export declare type RepeatProps = { kind: "repeat"; value: A; p: (_: A) => C; } & CmdCommon; export declare type AllProps = { kind: "all"; ps: Array>; } & CmdCommon>; export declare type AnyProps = { kind: "any"; value: A; ps: Array<(_: A) => C>; className: string; } & CmdCommon; export declare type NeverProps = { kind: "never"; p: C; } & CmdCommon; export declare type RetractProps = { kind: "retract"; inb: (_: A) => B; out: (_: A) => (_: B) => A; p: (_: B) => C; value: A; } & CmdCommon; export declare type DelayProps = { kind: "delay"; dt: number; value: A; p: (_: A) => C; } & CmdCommon; export declare type WaitProps = { kind: "wait"; dt: number; value: A; p: (_: A) => C; } & CmdCommon; export declare type RetryStrategy = "never" | "semi exponential" | { kind: "retry then show failure"; times: number; on_failure: C; } | { kind: "never"; on_failure: C; }; export declare type LiftPromiseProps = { kind: "lift promise"; p: (_: B) => Promise; retry_strategy: RetryStrategy; value: B; } & CmdCommon; export declare type SimpleMenuType = "side menu" | { kind: "tabs"; max_tabs: number; }; export declare let repeat: (key?: string, dbg?: () => string) => (p: (_: A) => C) => (_: A) => C; export declare let any: (key?: string, className?: string, dbg?: () => string) => (ps: ((_: A) => C)[]) => (_: A) => C; export declare let never: (p: C, key?: string) => C; export declare let all: (ps: C[], key?: string, dbg?: () => string) => C; export declare let retract: (key?: string, dbg?: () => string) => (inb: (_: A) => B, out: (_: A) => (_: B) => A, p: (_: B) => C) => (_: A) => C; export declare let lift_promise: (p: (_: A) => Promise, retry_strategy: RetryStrategy, key?: string, dbg?: () => string) => (_: A) => C; export declare let delay: (dt: number, key?: string, dbg?: () => string) => (p: (_: A) => C) => (_: A) => C; export declare let waiting: (dt: number, key?: string, dbg?: () => string) => (p: (_: A) => C) => (_: A) => C; export declare let mk_submenu_entry: (label: string, children: MenuEntryValue[]) => MenuEntrySubMenu; export declare let mk_menu_entry: (v: A) => MenuEntryValue; export declare type MenuEntryValue = { kind: "item"; value: A; }; export declare type MenuEntrySubMenu = { kind: "sub menu"; label: string; children: Array>; }; export declare type MenuEntry = MenuEntryValue | MenuEntrySubMenu; export declare let simple_menu: (type: SimpleMenuType, to_string: (_: A) => string, key?: string, dbg?: () => string) => (items: MenuEntry[], p: (_: A) => C, selected_item?: A, selected_sub_menu?: string) => C; export declare let custom: (key?: string, dbg?: () => string) => (render: (ctxt: () => Context) => (_: Cont) => JSX.Element) => C; export declare let hide: (f_name: string, f: C) => C;