import { ClientResponse } from './client'; export declare type RequestState = Readonly<{ data: R | null; loading: boolean; isCalled: boolean; prevHeaders?: Record; prevVariables?: Record; prevParams?: Record; }>; export declare type PublicRequestState = Pick, 'data' | 'loading' | 'isCalled'>; export declare type RequestAction = { type: 'call'; headers: Record; variables: Record; params?: Record; } | { type: 'success'; response: ClientResponse; } | { type: 'failure'; response: ClientResponse; }; export declare function requestReducer(state: RequestState, action: RequestAction): { loading: boolean; isCalled: boolean; prevHeaders: Record; prevVariables: Record; prevParams: Record | undefined; data: R | null; } | { loading: boolean; data: R; isCalled: boolean; prevHeaders?: Record | undefined; prevVariables?: Record | undefined; prevParams?: Record | undefined; } | { loading: boolean; data: null; isCalled: boolean; prevHeaders?: Record | undefined; prevVariables?: Record | undefined; prevParams?: Record | undefined; };