import { AnyOrama, SearchParams, Nullable, Results, IAnswerSessionConfig, AnswerSession as AnswerSession$2 } from '@orama/orama'; import { OramaClient, ClientSearchParams, AnswerSessionParams, AnswerSession } from '@oramacloud/client'; import { CollectionManager, AnswerSession as AnswerSession$1 } from '@orama/core'; type OramaSwitchClient = AnyOrama | OramaClient | CollectionManager; type ClientType = 'oss' | 'cloud' | 'core'; type SearchConfig = { abortController?: AbortController; fresh?: boolean; debounce?: number; }; declare class Switch { private invalidClientError; client: OramaSwitchClient; clientType: ClientType; isCloud: boolean; isJS: boolean; isCore: boolean; constructor(client: OramaSwitchClient); search(params: T extends OramaClient ? ClientSearchParams : T extends CollectionManager ? SearchParams : never, config?: SearchConfig): Promise>>; createAnswerSession(params: T extends OramaClient ? AnswerSessionParams : IAnswerSessionConfig): T extends OramaClient ? AnswerSession : T extends CollectionManager ? AnswerSession$1 : AnswerSession$2; } export { ClientType, OramaSwitchClient, SearchConfig, Switch };