import { RecommendClient } from '@algolia/recommend'; import { BatchKeyPair, BatchQuery } from '@algolia/recommend-core'; import React from 'react'; export type GetParametersResult = { queries: Array>; keyPair: BatchKeyPair; }; export type RecommendWidget = { getParameters: () => GetParametersResult; onResult: (value: TResult) => void; onRequest: () => void; key: string; param: GetParametersResult; }; type RecommendContextType = { register: (widget: Omit, 'param'>) => () => void; hasProvider: boolean; recommendClient: RecommendClient; }; export type RecommendProps = { children: React.ReactNode; recommendClient: RecommendClient; }; export declare const RecommendContext: React.Context>; export declare const useRecommendContext: () => RecommendContextType; export declare const useRecommendClient: (recommendClient?: RecommendClient | null) => { client: RecommendClient; isContextClient: boolean; }; export {};