import * as React from 'react'; import BicycleClient from 'bicycle/client'; import ErrorResult from 'bicycle/types/ErrorResult'; import { BaseRootQuery } from 'bicycle/typed-helpers/query'; import DeepPartial from '../helpers/DeepPartial'; export interface Status { result: DeepPartial; loaded: boolean; errors: ReadonlyArray; errorDetails: ReadonlyArray; previousElement: React.ReactNode; loadingDuration: number; } export declare type RenderLoaded = (result: QueryResult, client: BicycleClient, status: Status) => React.ReactNode; export declare type RenderMaybeLoaded = (result: DeepPartial, client: BicycleClient, status: Status) => React.ReactNode; export declare type RenderLoading = (loadingDuration: number, client: BicycleClient, status: Status) => React.ReactNode; export declare type RenderErrors = (errors: ReadonlyArray, client: BicycleClient, status: Status) => React.ReactNode; export interface Props { query: BaseRootQuery; children: RenderLoaded; renderLoading?: boolean | RenderLoading; renderErrors?: boolean | RenderErrors; } export default function Connect(props: Props): JSX.Element | null; export declare function query(query: BaseRootQuery, children: RenderLoaded): React.ReactElement; export declare function query(query: BaseRootQuery, children: RenderLoaded, options: { renderLoading?: RenderLoading; renderErrors?: RenderErrors; }): React.ReactElement; export declare function query(query: BaseRootQuery, children: RenderMaybeLoaded, options: { renderLoading?: boolean | RenderLoading; renderErrors?: boolean | RenderErrors; }): React.ReactElement;