import * as React from "react"; import { Dispatch, SetStateAction } from "react"; export declare type SetState = Dispatch>; export declare type StateHook = [T, SetState]; export declare class StateHolder { readonly value: T; readonly setValue: SetState; constructor(value: T, setValue: SetState); static createFromArray(stateHook: StateHook): StateHolder; asArray: () => StateHook; toString: () => string; } export declare type ReactRef = React.MutableRefObject; export declare type ReactRefReceiverFn = (it: T) => void; /** * @param refObject its `current` property is value of `it` * @param receiverFn lambda that accepts `it`; only runs if `refObject.current` property is truthy * @return refObject return the refObject that is passed */ export declare const _withRef: (refObject: ReactRef, receiverFn: ReactRefReceiverFn) => ReactRef; export declare function useForceUpdateFn(): () => void; export declare const emptyArray: () => JSX.Element[]; export declare type RenderItemFn = (input: T, index: number) => JSX.Element; export declare const makeReactElementFromArray: (inputsArray: T[], itemRendererFn: RenderItemFn) => JSX.Element;