import type { Controller, ControllerDefinitionsMap, CoreEngine, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from '@coveo/headless/ssr'; import { type Context, type PropsWithChildren } from 'react'; import { type SingletonGetter } from '../utils.js'; import type { ContextState, InferControllerHooksMapFromDefinition } from './types.js'; export declare function buildControllerHooks>(singletonContext: SingletonGetter | null>>, controllersMap?: TControllers): InferControllerHooksMapFromDefinition; export declare function buildEngineHook>(singletonContext: SingletonGetter | null>>): () => TEngine | undefined; /** * @deprecated use `buildStateProvider` instead. * It is isomorphic and can be used for both static and hydrated state. */ export declare function buildStaticStateProvider>(singletonContext: SingletonGetter | null>>): ({ controllers, children, }: PropsWithChildren<{ controllers: InferControllerStaticStateMapFromDefinitions; }>) => import("react").JSX.Element; /** * @deprecated use `buildStateProvider` instead. * It is isomorphic and can be used for both static and hydrated state. */ export declare function buildHydratedStateProvider>(singletonContext: SingletonGetter | null>>): ({ engine, controllers, children, }: PropsWithChildren<{ engine: TEngine; controllers: InferControllersMapFromDefinition; }>) => import("react").JSX.Element; export declare function buildStateProvider>(singletonContext: SingletonGetter | null>>): ({ engine, controllers, children, }: PropsWithChildren<{ engine?: TEngine; controllers: InferControllersMapFromDefinition | InferControllerStaticStateMapFromDefinitions; }>) => import("react").JSX.Element;