import * as React from 'react'; import { SendRequestFunction, JgqlError } from './sendRequestFunction'; export declare type VariableGetter = () => V | Promise; export interface InitialState { state: 'INITIAL'; } export interface LoadingState { state: 'LOADING'; } export interface SuccessState { state: 'SUCCESS'; response: D; } export interface ErrorState { state: 'ERROR'; error: JgqlError; } export declare type JgqlData = InitialState | LoadingState | SuccessState | ErrorState; export interface JgqlDataProp { data?: JgqlData; } export interface FetchDataProps { refetchData?: (variables?: V) => void; registerVariableGetter?: (getter: VariableGetter) => void; sendRequest?: SendRequestFunction; } export declare type JgqlProps = JgqlDataProp & FetchDataProps; export interface OptionsType { dontAutofetch?: boolean; getVariables?: VariableGetter; } export interface RefetchDataParams { variables?: V; processData?: (data: D) => D | Promise; } export declare const withJgql: (query?: string | undefined, options?: OptionsType | undefined) => , P extends object = Pick>>(WrappedComponent: React.ComponentType) => React.StatelessComponent

;