UNPKG

21.4 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 } 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';
104
105declare function algoliasearch(appId: string, apiKey: string, options?: AlgoliaSearchOptions): SearchClient;
106
107declare namespace algoliasearch {
108 var version: string;
109}
110export default algoliasearch;
111
112export declare type AlgoliaSearchOptions = Partial<ClientTransporterOptions> & WithoutCredentials<SearchClientOptions>;
113
114export declare type AnalyticsClient = AnalyticsClient_2 & {
115 readonly addABTest: (abTest: ABTest, requestOptions?: RequestOptions) => Readonly<Promise<AddABTestResponse>>;
116 readonly getABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<GetABTestResponse>>;
117 readonly getABTests: (requestOptions?: RequestOptions & GetABTestsOptions) => Readonly<Promise<GetABTestsResponse>>;
118 readonly stopABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<StopABTestResponse>>;
119 readonly deleteABTest: (abTestID: number, requestOptions?: RequestOptions) => Readonly<Promise<DeleteABTestResponse>>;
120};
121
122declare type Credentials = {
123 readonly appId: string;
124 readonly apiKey: string;
125};
126
127export declare type InitAnalyticsOptions = Partial<ClientTransporterOptions> & OptionalCredentials<AnalyticsClientOptions>;
128
129export declare type InitPersonalizationOptions = Partial<ClientTransporterOptions> & OptionalCredentials<PersonalizationClientOptions>;
130
131/**
132 * @deprecated Use `InitPersonalizationOptions` instead.
133 */
134export declare type InitRecommendationOptions = InitPersonalizationOptions;
135
136export declare type OptionalCredentials<TClientOptions extends Credentials> = Omit<TClientOptions, keyof Credentials> & Pick<Partial<TClientOptions>, keyof Credentials>;
137
138export declare type PersonalizationClient = PersonalizationClient_2 & {
139 readonly getPersonalizationStrategy: (requestOptions?: RequestOptions) => Readonly<Promise<GetPersonalizationStrategyResponse>>;
140 readonly setPersonalizationStrategy: (personalizationStrategy: PersonalizationStrategy, requestOptions?: RequestOptions) => Readonly<Promise<SetPersonalizationStrategyResponse>>;
141};
142
143/**
144 * @deprecated Use `PersonalizationClient` instead.
145 */
146export declare type RecommendationClient = PersonalizationClient;
147
148export declare type SearchClient = SearchClient_2 & {
149 readonly initIndex: (indexName: string) => SearchIndex;
150 readonly search: <TObject>(queries: readonly MultipleQueriesQuery[], requestOptions?: RequestOptions & MultipleQueriesOptions) => Readonly<Promise<MultipleQueriesResponse<TObject>>>;
151 readonly searchForFacetValues: (queries: ReadonlyArray<{
152 readonly indexName: string;
153 readonly params: SearchForFacetValuesQueryParams & SearchOptions;
154 }>, requestOptions?: RequestOptions) => Readonly<Promise<readonly SearchForFacetValuesResponse[]>>;
155 readonly multipleBatch: (requests: readonly MultipleBatchRequest[], requestOptions?: RequestOptions) => Readonly<WaitablePromise<MultipleBatchResponse>>;
156 readonly multipleGetObjects: <TObject>(requests: readonly MultipleGetObject[], requestOptions?: RequestOptions) => Readonly<Promise<MultipleGetObjectsResponse<TObject>>>;
157 readonly multipleQueries: <TObject>(queries: readonly MultipleQueriesQuery[], requestOptions?: RequestOptions & MultipleQueriesOptions) => Readonly<Promise<MultipleQueriesResponse<TObject>>>;
158 readonly copyIndex: (from: string, to: string, requestOptions?: CopyIndexOptions & RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
159 readonly copySettings: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
160 readonly copyRules: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
161 readonly copySynonyms: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
162 readonly moveIndex: (from: string, to: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<IndexOperationResponse>>;
163 readonly listIndices: (requestOptions?: RequestOptions) => Readonly<Promise<ListIndicesResponse>>;
164 readonly getLogs: (requestOptions?: RequestOptions) => Readonly<Promise<GetLogsResponse>>;
165 readonly listClusters: (requestOptions?: RequestOptions) => Readonly<Promise<ListClustersResponse>>;
166 readonly multipleSearchForFacetValues: (queries: ReadonlyArray<{
167 readonly indexName: string;
168 readonly params: SearchForFacetValuesQueryParams & SearchOptions;
169 }>, requestOptions?: RequestOptions) => Readonly<Promise<readonly SearchForFacetValuesResponse[]>>;
170 readonly getApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<Promise<GetApiKeyResponse>>;
171 readonly addApiKey: (acl: readonly ApiKeyACLType[], requestOptions?: AddApiKeyOptions & Pick<RequestOptions, Exclude<keyof RequestOptions, 'queryParameters'>>) => Readonly<WaitablePromise<AddApiKeyResponse>>;
172 readonly listApiKeys: (requestOptions?: RequestOptions) => Readonly<Promise<ListApiKeysResponse>>;
173 readonly updateApiKey: (apiKey: string, requestOptions?: UpdateApiKeyOptions & Pick<RequestOptions, Exclude<keyof RequestOptions, 'queryParameters'>>) => Readonly<WaitablePromise<UpdateApiKeyResponse>>;
174 readonly deleteApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteApiKeyResponse>>;
175 readonly restoreApiKey: (apiKey: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<RestoreApiKeyResponse>>;
176 readonly assignUserID: (userID: string, clusterName: string, requestOptions?: RequestOptions) => Readonly<Promise<AssignUserIDResponse>>;
177 readonly assignUserIDs: (userIDs: readonly string[], clusterName: string, requestOptions?: RequestOptions) => Readonly<Promise<AssignUserIDsResponse>>;
178 readonly getUserID: (userID: string, requestOptions?: RequestOptions) => Readonly<Promise<UserIDResponse>>;
179 readonly searchUserIDs: (query: string, requestOptions?: SearchUserIDsOptions & RequestOptions) => Readonly<Promise<SearchUserIDsResponse>>;
180 readonly listUserIDs: (requestOptions?: ListUserIDsOptions & RequestOptions) => Readonly<Promise<ListUserIDsResponse>>;
181 readonly getTopUserIDs: (requestOptions?: RequestOptions) => Readonly<Promise<GetTopUserIDsResponse>>;
182 readonly removeUserID: (userID: string, requestOptions?: RequestOptions) => Readonly<Promise<RemoveUserIDResponse>>;
183 readonly hasPendingMappings: (requestOptions?: HasPendingMappingsOptions & RequestOptions) => Readonly<Promise<HasPendingMappingsResponse>>;
184 readonly generateSecuredApiKey: (parentApiKey: string, restrictions: SecuredApiKeyRestrictions) => string;
185 readonly getSecuredApiKeyRemainingValidity: (securedApiKey: string) => number;
186 readonly clearDictionaryEntries: (dictionary: DictionaryName, requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
187 readonly deleteDictionaryEntries: (dictionary: DictionaryName, objectIDs: readonly string[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
188 readonly replaceDictionaryEntries: (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
189 readonly saveDictionaryEntries: (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: RequestOptions & DictionaryEntriesOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
190 readonly searchDictionaryEntries: (dictionary: DictionaryName, query: string, requestOptions?: RequestOptions) => Readonly<Promise<SearchDictionaryEntriesResponse>>;
191 readonly getDictionarySettings: (requestOptions?: RequestOptions) => Readonly<Promise<GetDictionarySettingsResponse>>;
192 readonly setDictionarySettings: (settings: DictionarySettings, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
193 readonly getAppTask: (taskID: number, requestOptions?: RequestOptions) => Readonly<Promise<TaskStatusResponse>>;
194 readonly customRequest: <TResponse>(request: Request, requestOptions?: RequestOptions) => Readonly<Promise<TResponse>>;
195 readonly initAnalytics: (options?: InitAnalyticsOptions) => AnalyticsClient;
196 readonly initPersonalization: (options?: InitPersonalizationOptions) => PersonalizationClient;
197 /**
198 * @deprecated Use `initPersonalization` instead.
199 */
200 readonly initRecommendation: (options?: InitPersonalizationOptions) => PersonalizationClient;
201} & Destroyable;
202
203export declare type SearchIndex = SearchIndex_2 & {
204 readonly search: <TObject>(query: string, requestOptions?: RequestOptions & SearchOptions) => Readonly<Promise<SearchResponse<TObject>>>;
205 readonly searchForFacetValues: (facetName: string, facetQuery: string, requestOptions?: RequestOptions & SearchOptions) => Readonly<Promise<SearchForFacetValuesResponse>>;
206 readonly findAnswers: <TObject>(query: string, queryLanguages: readonly string[], requestOptions?: RequestOptions & FindAnswersOptions) => Readonly<Promise<FindAnswersResponse<TObject>>>;
207 readonly batch: (requests: readonly BatchRequest[], requestOptions?: RequestOptions) => Readonly<WaitablePromise<BatchResponse>>;
208 readonly delete: (requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
209 readonly getObject: <TObject>(objectID: string, requestOptions?: RequestOptions & GetObjectOptions) => Readonly<Promise<TObject & ObjectWithObjectID>>;
210 readonly getObjects: <TObject>(objectIDs: readonly string[], requestOptions?: RequestOptions & GetObjectsOptions) => Readonly<Promise<GetObjectsResponse<TObject>>>;
211 readonly saveObject: (object: Readonly<Record<string, any>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions) => Readonly<WaitablePromise<SaveObjectResponse>>;
212 readonly saveObjects: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: RequestOptions & ChunkOptions & SaveObjectsOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
213 readonly waitTask: (taskID: number, requestOptions?: RequestOptions) => Readonly<Promise<void>>;
214 readonly setSettings: (settings: Settings, requestOptions?: RequestOptions) => Readonly<WaitablePromise<SetSettingsResponse>>;
215 readonly getSettings: (requestOptions?: RequestOptions) => Readonly<Promise<Settings>>;
216 readonly partialUpdateObject: (object: Record<string, any>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) => Readonly<WaitablePromise<PartialUpdateObjectResponse>>;
217 readonly partialUpdateObjects: (objects: ReadonlyArray<Record<string, any>>, requestOptions?: RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
218 readonly deleteObject: (objectID: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
219 readonly deleteObjects: (objectIDs: readonly string[], requestOptions?: RequestOptions & ChunkOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
220 readonly deleteBy: (filters: DeleteByFiltersOptions, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
221 readonly clearObjects: (requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
222 readonly browseObjects: <TObject>(requestOptions?: SearchOptions & BrowseOptions<TObject> & RequestOptions) => Readonly<Promise<void>>;
223 readonly getObjectPosition: (searchResponse: SearchResponse<{}>, objectID: string) => number;
224 readonly findObject: <TObject>(callback: (object: TObject & ObjectWithObjectID) => boolean, requestOptions?: FindObjectOptions & RequestOptions) => Readonly<Promise<FindObjectResponse<TObject>>>;
225 readonly exists: (requestOptions?: RequestOptions) => Readonly<Promise<boolean>>;
226 readonly saveSynonym: (synonym: Synonym, requestOptions?: RequestOptions & SaveSynonymsOptions) => Readonly<WaitablePromise<SaveSynonymResponse>>;
227 readonly saveSynonyms: (synonyms: readonly Synonym[], requestOptions?: SaveSynonymsOptions & RequestOptions) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
228 readonly getSynonym: (objectID: string, requestOptions?: RequestOptions) => Readonly<Promise<Synonym>>;
229 readonly searchSynonyms: (query: string, requestOptions?: SearchSynonymsOptions & RequestOptions) => Readonly<Promise<SearchSynonymsResponse>>;
230 readonly browseSynonyms: (requestOptions?: SearchSynonymsOptions & BrowseOptions<Synonym> & RequestOptions) => Readonly<Promise<void>>;
231 readonly deleteSynonym: (objectID: string, requestOptions?: DeleteSynonymOptions & RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
232 readonly clearSynonyms: (requestOptions?: ClearSynonymsOptions & RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
233 readonly replaceAllObjects: (objects: ReadonlyArray<Readonly<Record<string, any>>>, requestOptions?: ReplaceAllObjectsOptions & ChunkOptions & SaveObjectsOptions & RequestOptions) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
234 readonly replaceAllSynonyms: (synonyms: readonly Synonym[], requestOptions?: RequestOptions & Pick<SaveSynonymsOptions, Exclude<keyof SaveSynonymsOptions, 'clearExistingSynonyms' | 'replaceExistingSynonyms'>>) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
235 readonly searchRules: (query: string, requestOptions?: RequestOptions & SearchRulesOptions) => Readonly<Promise<SearchResponse<Rule>>>;
236 readonly getRule: (objectID: string, requestOptions?: RequestOptions) => Readonly<Promise<Rule>>;
237 readonly deleteRule: (objectID: string, requestOptions?: RequestOptions) => Readonly<WaitablePromise<DeleteResponse>>;
238 readonly saveRule: (rule: Rule, requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRuleResponse>>;
239 readonly saveRules: (rules: readonly Rule[], requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRulesResponse>>;
240 readonly replaceAllRules: (rules: readonly Rule[], requestOptions?: RequestOptions & SaveRulesOptions) => Readonly<WaitablePromise<SaveRulesResponse>>;
241 readonly browseRules: (requestOptions?: SearchRulesOptions & BrowseOptions<Rule> & RequestOptions) => Readonly<Promise<void>>;
242 readonly clearRules: (requestOptions?: RequestOptions & ClearRulesOptions) => Readonly<WaitablePromise<DeleteResponse>>;
243};
244
245export declare type WithoutCredentials<TClientOptions extends Credentials> = Omit<TClientOptions, keyof Credentials>;
246
247export { }