import { Widget, IOWidget, Fun, Options, Sum, Pair, Action } from "./widget"; import { StringOptions } from "./string"; import { ButtonOptions } from "./button"; import { TextAreaOptions } from "./text_area"; import { LabelOptions } from "./label"; import { NumberOptions } from "./number"; import { ListItem_io, ListItem } from "./list"; import { DivOptions, DivElement } from "./div"; import { CheckboxOptions } from "./checkbox"; import { StateOptions } from "./stateful"; import { AsyncOptions, AsyncState } from "./async"; import { Branch } from "./choice"; import { Routes } from "./router"; export * from "./string"; export * from "./widget"; export * from "./stateful"; export * from "./any"; export * from "./button"; export * from "./promise"; export * from "./text_area"; export * from "./label"; export * from "./number"; export * from "./list"; export * from "./div"; export * from "./checkbox"; export * from "./async"; export * from "./router"; export declare type WidgetLibrary = { string_full: (string_to_output: Fun, options?: StringOptions | undefined) => IOWidget; string: (options?: StringOptions | undefined) => IOWidget; button: (label: string, options?: ButtonOptions) => IOWidget<() => a, a>; button_wrapper: (inner_widget: Widget<{}>, options?: ButtonOptions) => IOWidget<() => a, a>; span_io: (options?: Options | undefined) => (inner_widget: IOWidget) => IOWidget; text_area: (options?: TextAreaOptions | undefined) => IOWidget; label_io: (text: string, options?: LabelOptions) => (_: IOWidget) => IOWidget; label: (text: string, options?: LabelOptions) => (_: Widget) => Widget; number: (options?: NumberOptions | undefined) => IOWidget; unordered_list_io: (options?: Options | undefined) => (list_items: ListItem_io[]) => IOWidget; unorderedList: (options?: Options | undefined) => (list_items: ListItem[]) => Widget; dropdown: (to_string: Fun, options?: Options) => IOWidget<[a[], a | undefined], a | null>; modal_io: (modal_root_id: string) => (_: IOWidget) => IOWidget; modal: (modal_root_id: string) => (widget: Widget) => Widget; div_io: (element: DivElement, options?: DivOptions) => (inner: IOWidget | IOWidget[]) => IOWidget; div: (options: DivOptions) => (inner?: Widget | Widget[]) => Widget; span: (options: Options) => (inner?: Widget | Widget[]) => Widget; nav: (options: Options) => (inner?: Widget | Widget[]) => Widget; meta: (options: Options) => Widget; bool: (options?: Options) => IOWidget; checkbox: (options: CheckboxOptions) => IOWidget; any_io: (options?: Options) => (widgets: IOWidget[]) => IOWidget; any: (options?: Options) => (widgets: Widget[]) => Widget; stateful: (options?: StateOptions) => (widget_s: IOWidget) => IOWidget; for_platform_io: (_: { web: IOWidget; native: IOWidget; }) => IOWidget; for_platform: (_: { web: Widget; native: Widget; }) => Widget; only_if: (condition: boolean, widget: Widget) => Widget; both: (widget1: IOWidget, widget2: IOWidget) => IOWidget>; wait: (milliseconds: number, options?: Options) => IOWidget<() => io, io>; shouldComponentUpdate: (p: (prev: s, next: s) => boolean) => (widget_s: IOWidget) => IOWidget; async: (w: IOWidget>>, options?: AsyncOptions) => (s0: AsyncState) => Widget>>; either: (widget1: IOWidget, widget2: IOWidget) => IOWidget>; with_dimensions: (_: (_: { width: number; height: number; }) => T) => T; with_platform: (_: (_: 'web' | 'ios' | 'android') => T) => T; with_windowevents: (_: (_: { add: (type: string, f: () => void) => void; remove: (type: string, f: () => void) => void; }) => T) => T; with_html_classes: (_: (_: { add: (c: string) => void; remove: (c: string) => void; }) => T) => T; with_document_title: (_: (_: { get: () => string; set: (_: string) => void; }) => T) => T; with_html_attributes: (_: (_: { get: (_: string) => string; set: (_: string, __: string) => void; }) => T) => T; with_storage: (_: (_: { get: (_: string) => Promise; set: (key: string, val: string) => Promise; }) => T) => T; choice: (branches: Branch[]) => IOWidget; all: (widgets: IOWidget[]) => IOWidget; routerSwitch: (options?: Options | undefined) => (routes: Routes) => Widget; browserRouter: (options?: Options | undefined) => (component: Widget) => Widget; a: (label: string, options?: ButtonOptions | undefined) => IOWidget<() => a, a>; aWrapper: (inner_widget: Widget<{}>, options?: ButtonOptions | undefined) => IOWidget<() => a, a>; link: (label: string, href: string, options?: (Options & { target?: "_blank" | undefined; }) | undefined) => Widget<{}>; navLink: (label: string | Widget, to: string, options?: Options | undefined) => Widget<{}>; };