import * as React from 'react'; import { Resource, Fetcher, RequestParams } from '../core'; export interface RestfulRenderChildProps { data: R | null; error: Error | null; fetching: boolean; refetch: () => void; } export declare type RestfulRenderChildType = React.ComponentType>; export interface RestfulRenderProps { fetcher?: Fetcher; resource: Resource; parameters?: RequestParams; render?: RestfulRenderChildType; children?: (renderProps: RestfulRenderChildProps) => React.ReactNode; onFetchCompleted?: (data: R) => void; initData?: R | undefined; initFetch?: boolean; } export interface RestfulRenderState extends RestfulRenderProps { prevParams?: RequestParams; needsUpdate?: boolean; fetching: boolean; componentRenderProps: RestfulRenderChildProps; } export declare class RestfulRender extends React.Component, RestfulRenderState> { static defaultProps: { parameters: never[]; }; Component?: RestfulRenderChildType; static getDerivedStateFromProps(nextProps: RestfulRenderProps, prevState: RestfulRenderState): RestfulRenderState | null; constructor(props: RestfulRenderProps); componentDidUpdate(): void; render(): {} | null | undefined; fetching: () => Promise; }