import { Endpoint } from './endpoint'; import { PublicRequestState } from './reducer'; import { ClientResponse } from './client'; export declare type LazyRequestConfig = Readonly<{ variables?: V; params?: P; headers?: Record; onComplete?: (data: R) => unknown; onFailure?: (res: ClientResponse) => unknown; }>; export declare type LazyRequestHandlerConfig = Readonly & { force?: boolean; }>; export declare type RequestHandler = (config?: LazyRequestHandlerConfig) => Promise; export declare function useLazyRequest, V = Record, P = void>(endpoint: Endpoint, config?: LazyRequestConfig): [RequestHandler, PublicRequestState];