algoliasearch.d.ts 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import { ABTest } from '@algolia/client-analytics';
  2. import { AddABTestResponse } from '@algolia/client-analytics';
  3. import { AddApiKeyOptions } from '@algolia/client-search';
  4. import { AddApiKeyResponse } from '@algolia/client-search';
  5. import { AnalyticsClient as AnalyticsClient_2 } from '@algolia/client-analytics';
  6. import { AnalyticsClientOptions } from '@algolia/client-analytics';
  7. import { ApiKeyACLType } from '@algolia/client-search';
  8. import { AssignUserIDResponse } from '@algolia/client-search';
  9. import { AssignUserIDsResponse } from '@algolia/client-search';
  10. import { BatchRequest } from '@algolia/client-search';
  11. import { BatchResponse } from '@algolia/client-search';
  12. import { BrowseOptions } from '@algolia/client-search';
  13. import { ChunkedBatchResponse } from '@algolia/client-search';
  14. import { ChunkOptions } from '@algolia/client-search';
  15. import { ClearRulesOptions } from '@algolia/client-search';
  16. import { ClearSynonymsOptions } from '@algolia/client-search';
  17. import { ClientTransporterOptions } from '@algolia/client-common';
  18. import { CopyIndexOptions } from '@algolia/client-search';
  19. import { DeleteABTestResponse } from '@algolia/client-analytics';
  20. import { DeleteApiKeyResponse } from '@algolia/client-search';
  21. import { DeleteByFiltersOptions } from '@algolia/client-search';
  22. import { DeleteResponse } from '@algolia/client-search';
  23. import { DeleteSynonymOptions } from '@algolia/client-search';
  24. import { Destroyable } from '@algolia/requester-common';
  25. import { DictionaryEntriesOptions } from '@algolia/client-search';
  26. import { DictionaryEntriesResponse } from '@algolia/client-search';
  27. import { DictionaryEntry } from '@algolia/client-search';
  28. import { DictionaryName } from '@algolia/client-search';
  29. import { DictionarySettings } from '@algolia/client-search';
  30. import { FindAnswersOptions } from '@algolia/client-search';
  31. import { FindAnswersResponse } from '@algolia/client-search';
  32. import { FindObjectOptions } from '@algolia/client-search';
  33. import { FindObjectResponse } from '@algolia/client-search';
  34. import { GetABTestResponse } from '@algolia/client-analytics';
  35. import { GetABTestsOptions } from '@algolia/client-analytics';
  36. import { GetABTestsResponse } from '@algolia/client-analytics';
  37. import { GetApiKeyResponse } from '@algolia/client-search';
  38. import { GetDictionarySettingsResponse } from '@algolia/client-search';
  39. import { GetLogsResponse } from '@algolia/client-search';
  40. import { GetObjectOptions } from '@algolia/client-search';
  41. import { GetObjectsOptions } from '@algolia/client-search';
  42. import { GetObjectsResponse } from '@algolia/client-search';
  43. import { GetPersonalizationStrategyResponse } from '@algolia/client-personalization';
  44. import { GetTopUserIDsResponse } from '@algolia/client-search';
  45. import { HasPendingMappingsOptions } from '@algolia/client-search';
  46. import { HasPendingMappingsResponse } from '@algolia/client-search';
  47. import { IndexOperationResponse } from '@algolia/client-search';
  48. import { ListApiKeysResponse } from '@algolia/client-search';
  49. import { ListClustersResponse } from '@algolia/client-search';
  50. import { ListIndicesResponse } from '@algolia/client-search';
  51. import { ListUserIDsOptions } from '@algolia/client-search';
  52. import { ListUserIDsResponse } from '@algolia/client-search';
  53. import { MultipleBatchRequest } from '@algolia/client-search';
  54. import { MultipleBatchResponse } from '@algolia/client-search';
  55. import { MultipleGetObject } from '@algolia/client-search';
  56. import { MultipleGetObjectsResponse } from '@algolia/client-search';
  57. import { MultipleQueriesOptions } from '@algolia/client-search';
  58. import { MultipleQueriesQuery } from '@algolia/client-search';
  59. import { MultipleQueriesResponse } from '@algolia/client-search';
  60. import { ObjectWithObjectID } from '@algolia/client-search';
  61. import { PartialUpdateObjectResponse } from '@algolia/client-search';
  62. import { PartialUpdateObjectsOptions } from '@algolia/client-search';
  63. import { PersonalizationClient as PersonalizationClient_2 } from '@algolia/client-personalization';
  64. import { PersonalizationClientOptions } from '@algolia/client-personalization';
  65. import { PersonalizationStrategy } from '@algolia/client-personalization';
  66. import { RemoveUserIDResponse } from '@algolia/client-search';
  67. import { ReplaceAllObjectsOptions } from '@algolia/client-search';
  68. import { Request } from '@algolia/transporter';
  69. import { RequestOptions } from '@algolia/transporter';
  70. import { RestoreApiKeyResponse } from '@algolia/client-search';
  71. import { Rule } from '@algolia/client-search';
  72. import { SaveObjectResponse } from '@algolia/client-search';
  73. import { SaveObjectsOptions } from '@algolia/client-search';
  74. import { SaveRuleResponse } from '@algolia/client-search';
  75. import { SaveRulesOptions } from '@algolia/client-search';
  76. import { SaveRulesResponse } from '@algolia/client-search';
  77. import { SaveSynonymResponse } from '@algolia/client-search';
  78. import { SaveSynonymsOptions } from '@algolia/client-search';
  79. import { SaveSynonymsResponse } from '@algolia/client-search';
  80. import { SearchClient as SearchClient_2 } from '@algolia/client-search';
  81. import { SearchClientOptions } from '@algolia/client-search';
  82. import { SearchDictionaryEntriesResponse } from '@algolia/client-search';
  83. import { SearchForFacetValuesQueryParams } from '@algolia/client-search';
  84. import { SearchForFacetValuesResponse } from '@algolia/client-search';
  85. import { SearchIndex as SearchIndex_2 } from '@algolia/client-search';
  86. import { SearchOptions } from '@algolia/client-search';
  87. import { SearchResponse } from '@algolia/client-search';
  88. import { SearchRulesOptions } from '@algolia/client-search';
  89. import { SearchSynonymsOptions } from '@algolia/client-search';
  90. import { SearchSynonymsResponse } from '@algolia/client-search';
  91. import { SearchUserIDsOptions } from '@algolia/client-search';
  92. import { SearchUserIDsResponse } from '@algolia/client-search';
  93. import { SecuredApiKeyRestrictions } from '@algolia/client-search';
  94. import { SetPersonalizationStrategyResponse } from '@algolia/client-personalization';
  95. import { SetSettingsResponse } from '@algolia/client-search';
  96. import { Settings } from '@algolia/client-search';
  97. import { StopABTestResponse } from '@algolia/client-analytics';
  98. import { Synonym } from '@algolia/client-search';
  99. import { TaskStatusResponse } from '@algolia/client-search';
  100. import { UpdateApiKeyOptions } from '@algolia/client-search';
  101. import { UpdateApiKeyResponse } from '@algolia/client-search';
  102. import { UserIDResponse } from '@algolia/client-search';
  103. import { WaitablePromise } from '@algolia/client-common';
  104. declare function algoliasearch(appId: string, apiKey: string, options?: AlgoliaSearchOptions): SearchClient;
  105. declare namespace algoliasearch {
  106. var version: string;
  107. }
  108. export default algoliasearch;
  109. export declare type AlgoliaSearchOptions = Partial<ClientTransporterOptions> & WithoutCredentials<SearchClientOptions>;
  110. export declare type AnalyticsClient = AnalyticsClient_2 & {
  111. readonly addABTest: (abTest: ABTest, requestOptions?: RequestOptions) => Readonly<Promise<AddABTestResponse>>;
  112. readonly getABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<GetABTestResponse>>;
  113. readonly getABTests: (requestOptions?: RequestOptions & GetABTestsOptions) => Readonly<Promise<GetABTestsResponse>>;
  114. readonly stopABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<StopABTestResponse>>;
  115. readonly deleteABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<DeleteABTestResponse>>;
  116. };
  117. declare type Credentials = {
  118. readonly appId: string;
  119. readonly apiKey: string;
  120. };
  121. export declare type InitAnalyticsOptions = Partial<ClientTransporterOptions> & OptionalCredentials<AnalyticsClientOptions>;
  122. export declare type InitPersonalizationOptions = Partial<ClientTransporterOptions> & OptionalCredentials<PersonalizationClientOptions>;
  123. /**
  124. * @deprecated Use `InitPersonalizationOptions` instead.
  125. */
  126. export declare type InitRecommendationOptions = InitPersonalizationOptions;
  127. export declare type OptionalCredentials<TClientOptions extends Credentials> = Omit<TClientOptions, keyof Credentials> & Pick<Partial<TClientOptions>, keyof Credentials>;
  128. export declare type PersonalizationClient = PersonalizationClient_2 & {
  129. readonly getPersonalizationStrategy: (requestOptions?: RequestOptions) => Readonly<Promise<GetPersonalizationStrategyResponse>>;
  130. readonly setPersonalizationStrategy: (personalizationStrategy: PersonalizationStrategy, requestOptions?: RequestOptions) => Readonly<Promise<SetPersonalizationStrategyResponse>>;
  131. };
  132. /**
  133. * @deprecated Use `PersonalizationClient` instead.
  134. */
  135. export declare type RecommendationClient = PersonalizationClient;
  136. export declare type SearchClient = SearchClient_2 & {
  137. readonly initIndex: (indexName: string) => SearchIndex;
  138. readonly search: <TObject>(queries: readonly MultipleQueriesQuery[], requestOptions?: RequestOptions & MultipleQueriesOptions) => Readonly<Promise<MultipleQueriesResponse<TObject>>>;
  139. readonly searchForFacetValues: (queries: ReadonlyArray<{
  140. readonly indexName: string;
  141. readonly params: SearchForFacetValuesQueryParams & SearchOptions;
  142. }>, requestOptions?: RequestOptions) => Readonly<Promise<readonly SearchForFacetValuesResponse[]>>;
  143. readonly multipleBatch: (requests: readonly MultipleBatchRequest[], requestOptions?: RequestOptions) => Readonly<WaitablePromise<MultipleBatchResponse>>;
  144. readonly multipleGetObjects: <TObject>(requests: readonly MultipleGetObject[], requestOptions?: RequestOptions) => Readonly<Promise<MultipleGetObjectsResponse<TObject>>>;
  145. readonly multipleQueries: <TObject>(queries: readonly MultipleQueriesQuery[], requestOptions?: RequestOptions & MultipleQueriesOptions) => Readonly<Promise<MultipleQueriesResponse<TObject>>>;
  146. readonly copyIndex: (from: string, to: string, requestOptions?: CopyIndexOptions & RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
  147. readonly copySettings: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
  148. readonly copyRules: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
  149. readonly copySynonyms: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
  150. readonly moveIndex: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
  151. readonly listIndices: (requestOptions?: RequestOptions) => Readonly<Promise<ListIndicesResponse>>;
  152. readonly getLogs: (requestOptions?: RequestOptions) => Readonly<Promise<GetLogsResponse>>;
  153. readonly listClusters: (requestOptions?: RequestOptions) => Readonly<Promise<ListClustersResponse>>;
  154. readonly multipleSearchForFacetValues: (queries: ReadonlyArray<{
  155. readonly indexName: string;
  156. readonly params: SearchForFacetValuesQueryParams & SearchOptions;
  157. }>, requestOptions?: RequestOptions) => Readonly<Promise<readonly SearchForFacetValuesResponse[]>>;
  158. readonly getApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<Promise<GetApiKeyResponse>>;
  159. readonly addApiKey: (acl: readonly ApiKeyACLType[], requestOptions?: AddApiKeyOptions & Pick<RequestOptions, Exclude<keyof RequestOptions, 'queryParameters'>>) => Readonly<WaitablePromise<AddApiKeyResponse>>;
  160. readonly listApiKeys: (requestOptions?: RequestOptions) => Readonly<Promise<ListApiKeysResponse>>;
  161. readonly updateApiKey: (apiKey: string, requestOptions?: UpdateApiKeyOptions & Pick<RequestOptions, Exclude<keyof RequestOptions, 'queryParameters'>>) => Readonly<WaitablePromise<UpdateApiKeyResponse>>;
  162. readonly deleteApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteApiKeyResponse>>;
  163. readonly restoreApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<RestoreApiKeyResponse>>;
  164. readonly assignUserID: (userID: string, clusterName: string, requestOptions?: RequestOptions) => Readonly<Promise<AssignUserIDResponse>>;
  165. readonly assignUserIDs: (userIDs: readonly string[], clusterName: string, requestOptions?: RequestOptions) => Readonly<Promise<AssignUserIDsResponse>>;
  166. readonly getUserID: (userID: string, requestOptions?: RequestOptions) => Readonly<Promise<UserIDResponse>>;
  167. readonly searchUserIDs: (query: string, requestOptions?: SearchUserIDsOptions & RequestOptions) => Readonly<Promise<SearchUserIDsResponse>>;
  168. readonly listUserIDs: (requestOptions?: ListUserIDsOptions & RequestOptions) => Readonly<Promise<ListUserIDsResponse>>;
  169. readonly getTopUserIDs: (requestOptions?: RequestOptions) => Readonly<Promise<GetTopUserIDsResponse>>;
  170. readonly removeUserID: (userID: string, requestOptions?: RequestOptions) => Readonly<Promise<RemoveUserIDResponse>>;
  171. readonly hasPendingMappings: (requestOptions?: HasPendingMappingsOptions & RequestOptions) => Readonly<Promise<HasPendingMappingsResponse>>;
  172. readonly generateSecuredApiKey: (parentApiKey: string, restrictions: SecuredApiKeyRestrictions) => string;
  173. readonly getSecuredApiKeyRemainingValidity: (securedApiKey: string) => number;
  174. readonly clearDictionaryEntries: (dictionary: DictionaryName, requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
  175. readonly deleteDictionaryEntries: (dictionary: DictionaryName, objectIDs: readonly string[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
  176. readonly replaceDictionaryEntries: (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
  177. readonly saveDictionaryEntries: (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
  178. readonly searchDictionaryEntries: (dictionary: DictionaryName, query: string, requestOptions?: RequestOptions) => Readonly<Promise<SearchDictionaryEntriesResponse>>;
  179. readonly getDictionarySettings: (requestOptions?: RequestOptions) => Readonly<Promise<GetDictionarySettingsResponse>>;
  180. readonly setDictionarySettings: (settings: DictionarySettings, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
  181. readonly getAppTask: (taskID: number, requestOptions?: RequestOptions) => Readonly<Promise<TaskStatusResponse>>;
  182. readonly customRequest: <TResponse>(request: Request, requestOptions?: RequestOptions) => Readonly<Promise<TResponse>>;
  183. readonly initAnalytics: (options?: InitAnalyticsOptions) => AnalyticsClient;
  184. readonly initPersonalization: (options?: InitPersonalizationOptions) => PersonalizationClient;
  185. /**
  186. * @deprecated Use `initPersonalization` instead.
  187. */
  188. readonly initRecommendation: (options?: InitPersonalizationOptions) => PersonalizationClient;
  189. } & Destroyable;
  190. export declare type SearchIndex = SearchIndex_2 & {
  191. readonly search: <TObject>(query: string, requestOptions?: RequestOptions & SearchOptions) => Readonly<Promise<SearchResponse<TObject>>>;
  192. readonly searchForFacetValues: (facetName: string, facetQuery: string, requestOptions?: RequestOptions & SearchOptions) => Readonly<Promise<SearchForFacetValuesResponse>>;
  193. readonly findAnswers: <TObject>(query: string, queryLanguages: readonly string[], requestOptions?: RequestOptions & FindAnswersOptions) => Readonly<Promise<FindAnswersResponse<TObject>>>;
  194. readonly batch: (requests: readonly BatchRequest[], requestOptions?: RequestOptions) => Readonly<WaitablePromise<BatchResponse>>;
  195. readonly delete: (requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  196. readonly getObject: <TObject>(objectID: string, requestOptions?: RequestOptions & GetObjectOptions) => Readonly<Promise<TObject & ObjectWithObjectID>>;
  197. readonly getObjects: <TObject>(objectIDs: readonly string[], requestOptions?: RequestOptions & GetObjectsOptions) => Readonly<Promise<GetObjectsResponse<TObject>>>;
  198. readonly saveObject: (object: Readonly<Record<string, any>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions) => Readonly<WaitablePromise<SaveObjectResponse>>;
  199. readonly saveObjects: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
  200. readonly waitTask: (taskID: number, requestOptions?: RequestOptions) => Readonly<Promise<void>>;
  201. readonly setSettings: (settings: Settings, requestOptions?: RequestOptions) => Readonly<WaitablePromise<SetSettingsResponse>>;
  202. readonly getSettings: (requestOptions?: RequestOptions) => Readonly<Promise<Settings>>;
  203. readonly partialUpdateObject: (object: Record<string, any>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) => Readonly<WaitablePromise<PartialUpdateObjectResponse>>;
  204. readonly partialUpdateObjects: (objects: ReadonlyArray<Record<string, any>>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
  205. readonly deleteObject: (objectID: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  206. readonly deleteObjects: (objectIDs: readonly string[], requestOptions?: RequestOptions & ChunkOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
  207. readonly deleteBy: (filters: DeleteByFiltersOptions, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  208. readonly clearObjects: (requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  209. readonly browseObjects: <TObject>(requestOptions?: SearchOptions & BrowseOptions<TObject> & RequestOptions) => Readonly<Promise<void>>;
  210. readonly getObjectPosition: (searchResponse: SearchResponse<{}>, objectID: string) => number;
  211. readonly findObject: <TObject>(callback: (object: TObject & ObjectWithObjectID) => boolean, requestOptions?: FindObjectOptions & RequestOptions) => Readonly<Promise<FindObjectResponse<TObject>>>;
  212. readonly exists: (requestOptions?: RequestOptions) => Readonly<Promise<boolean>>;
  213. readonly saveSynonym: (synonym: Synonym, requestOptions?: RequestOptions & SaveSynonymsOptions) => Readonly<WaitablePromise<SaveSynonymResponse>>;
  214. readonly saveSynonyms: (synonyms: readonly Synonym[], requestOptions?: SaveSynonymsOptions & RequestOptions) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
  215. readonly getSynonym: (objectID: string, requestOptions?: RequestOptions) => Readonly<Promise<Synonym>>;
  216. readonly searchSynonyms: (query: string, requestOptions?: SearchSynonymsOptions & RequestOptions) => Readonly<Promise<SearchSynonymsResponse>>;
  217. readonly browseSynonyms: (requestOptions?: SearchSynonymsOptions & BrowseOptions<Synonym> & RequestOptions) => Readonly<Promise<void>>;
  218. readonly deleteSynonym: (objectID: string, requestOptions?: DeleteSynonymOptions & RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  219. readonly clearSynonyms: (requestOptions?: ClearSynonymsOptions & RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  220. readonly replaceAllObjects: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: ReplaceAllObjectsOptions & ChunkOptions & SaveObjectsOptions & RequestOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
  221. readonly replaceAllSynonyms: (synonyms: readonly Synonym[], requestOptions?: RequestOptions & Pick<SaveSynonymsOptions, Exclude<keyof SaveSynonymsOptions, 'clearExistingSynonyms' | 'replaceExistingSynonyms'>>) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
  222. readonly searchRules: (query: string, requestOptions?: RequestOptions & SearchRulesOptions) => Readonly<Promise<SearchResponse<Rule>>>;
  223. readonly getRule: (objectID: string, requestOptions?: RequestOptions) => Readonly<Promise<Rule>>;
  224. readonly deleteRule: (objectID: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  225. readonly saveRule: (rule: Rule, requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRuleResponse>>;
  226. readonly saveRules: (rules: readonly Rule[], requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRulesResponse>>;
  227. readonly replaceAllRules: (rules: readonly Rule[], requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRulesResponse>>;
  228. readonly browseRules: (requestOptions?: SearchRulesOptions & BrowseOptions<Rule> & RequestOptions) => Readonly<Promise<void>>;
  229. readonly clearRules: (requestOptions?: RequestOptions & ClearRulesOptions) => Readonly<WaitablePromise<DeleteResponse>>;
  230. };
  231. export declare type WithoutCredentials<TClientOptions extends Credentials> = Omit<TClientOptions, keyof Credentials>;
  232. export { }