import * as react from 'react'; import { ComponentType, ReactNode, FC, DependencyList, EffectCallback } from 'react'; declare const withSuspense:

(Component: ComponentType

, fallback?: ReactNode) => FC

; type Merge = Omit & Prepared; declare const withPrepare: (usePrepare: (props: Props) => Prepared | null | undefined, Content: ComponentType>) => FC; type TagToHTMLElement = { div: HTMLDivElement; span: HTMLSpanElement; input: HTMLInputElement; button: HTMLButtonElement; a: HTMLAnchorElement; p: HTMLParagraphElement; img: HTMLImageElement; ul: HTMLUListElement; ol: HTMLOListElement; li: HTMLLIElement; table: HTMLTableElement; tr: HTMLTableRowElement; td: HTMLTableCellElement; form: HTMLFormElement; textarea: HTMLTextAreaElement; select: HTMLSelectElement; option: HTMLOptionElement; script: HTMLScriptElement; link: HTMLLinkElement; style: HTMLStyleElement; canvas: HTMLCanvasElement; video: HTMLVideoElement; audio: HTMLAudioElement; iframe: HTMLIFrameElement; body: HTMLBodyElement; head: HTMLHeadElement; html: HTMLHtmlElement; }; declare function useHTMLElement(tag: T): react.RefObject | null>; declare function useMount(effect: EffectCallback): void; declare function useClean(cleanup: () => void, deps?: DependencyList): void; export { useClean, useHTMLElement, useMount, withPrepare, withSuspense };