UNPKG

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