import { FC, ReactNode } from 'react';
import { RequestParameters, RequestChange, RequestState } from './types';
import { RoutingContextValue } from './RoutingContext';
export declare const requestChangeFactory: <P extends RequestParameters<never>>(pageName: string, parameters?: P | undefined) => RequestChange;
export declare const CurrentRequestContext: React.Context<RequestState<RequestParameters<never>>>;
export declare const PushRequestContext: React.Context<(req: RequestState) => void>;
export declare const useCurrentRequest: () => RequestState<RequestParameters<never>>;
export declare const usePushRequest: () => (req: RequestState) => void;
export declare const RequestProvider: FC<{
    children: ReactNode;
}>;
export declare const populateRequest: (routing: RoutingContextValue, location: Location) => RequestState;
//# sourceMappingURL=RequestContext.d.ts.map