UNPKG

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