import * as React from 'react'; import type { RefObject } from './types'; export type RenderHookResult = { result: RefObject; rerender: (props: Props) => void; unmount: () => void; }; export type RenderHookAsyncResult = { result: RefObject; rerenderAsync: (props: Props) => Promise; unmountAsync: () => Promise; }; export type RenderHookOptions = { /** * The initial props to pass to the hook. */ initialProps?: Props; /** * Pass a React Component as the wrapper option to have it rendered around the inner element. This is most useful for creating * reusable custom render functions for common data providers. */ wrapper?: React.ComponentType; /** * Set to `false` to disable concurrent rendering. * Otherwise `renderHook` will default to concurrent rendering. */ concurrentRoot?: boolean; }; export declare function renderHook(hookToRender: (props: Props) => Result, options?: RenderHookOptions>): RenderHookResult; export declare function renderHookAsync(hookToRender: (props: Props) => Result, options?: RenderHookOptions>): Promise>;