import type { Unsubscribe } from '@reduxjs/toolkit'; import type { GeneratedAnswerAPIClient } from '../../../api/generated-answer/generated-answer-client.js'; import type { CoreEngine } from '../../../app/engine.js'; import type { InsightEngine } from '../../../app/insight-engine/insight-engine.js'; import type { SearchEngine } from '../../../app/search-engine/search-engine.js'; import type { ClientThunkExtraArguments } from '../../../app/thunk-extra-arguments.js'; import type { ConfigurationState } from '../../../features/configuration/configuration-state.js'; import type { DebugSection, GeneratedAnswerSection, SearchSection } from '../../../state/state-sections.js'; import { type GeneratedAnswer, type GeneratedAnswerAnalyticsClient, type GeneratedAnswerProps } from './headless-core-generated-answer.js'; interface SearchAPIGeneratedAnswer extends GeneratedAnswer { } interface SubscribeStateManager { engines: Record; getIsStreamInProgress: (genQaEngineId: string) => boolean; setAbortControllerRef: (ref: AbortController, genQaEngineId: string) => void; subscribeToSearchRequests: (engine: CoreEngine, ConfigurationState>) => Unsubscribe; } export declare const subscribeStateManager: SubscribeStateManager; interface SearchAPIGeneratedAnswerAnalyticsClient extends GeneratedAnswerAnalyticsClient { } /** * Creates a `GeneratedAnswer` controller instance using the search API stream pattern. * * @param engine - The headless engine. * @param props - The configurable `GeneratedAnswer` properties. * @returns A `GeneratedAnswer` controller instance. */ export declare function buildSearchAPIGeneratedAnswer(engine: SearchEngine | InsightEngine, analyticsClient: SearchAPIGeneratedAnswerAnalyticsClient, props?: GeneratedAnswerProps): SearchAPIGeneratedAnswer; export {};