Warp/node_modules/@algolia/client-search/dist/client-search.d.ts

2543 lines
84 KiB
TypeScript
Raw Normal View History

2024-01-05 12:14:38 +00:00
import { AuthModeType } from '@algolia/client-common';
import { ClientTransporterOptions } from '@algolia/client-common';
import { CreateClient } from '@algolia/client-common';
import { Request } from '@algolia/transporter';
import { RequestOptions } from '@algolia/transporter';
import { Transporter } from '@algolia/transporter';
import { WaitablePromise } from '@algolia/client-common';
export declare const addApiKey: (base: SearchClient) => (acl: readonly ApiKeyACLType[], requestOptions?: (AddApiKeyOptions & Pick<RequestOptions, string | number>) | undefined) => Readonly<WaitablePromise<AddApiKeyResponse>>;
export declare type AddApiKeyOptions = {
/**
* A Unix timestamp used to define the expiration date of the API key.
*/
readonly validity?: number;
/**
* Specify the maximum number of hits this API key can retrieve in one call.
* This parameter can be used to protect you from attempts at retrieving your entire index contents by massively querying the index.
*/
readonly maxHitsPerQuery?: number;
/**
* Specify the maximum number of API calls allowed from an IP address per hour. Each time an API call is performed with this key, a check is performed.
*/
readonly maxQueriesPerIPPerHour?: number;
/**
* Specify the list of targeted indices. You can target all indices starting with a prefix or ending with a suffix using the * character.
*/
readonly indexes?: readonly string[];
/**
* Specify the list of referers. You can target all referers starting with a prefix, ending with a suffix using the * character.
*/
readonly referers?: readonly string[];
/**
* Specify the list of query parameters. You can force the query parameters for a query using the url string format.
*/
readonly queryParameters?: string;
/**
* Specify a description of the API key. Used for informative purposes only. It has impact on the functionality of the API key.
*/
readonly description?: string;
};
export declare type AddApiKeyResponse = {
/**
* The returned api key.
*/
key: string;
/**
* Date of creation of the api key.
*/
createdAt: string;
};
export declare const ApiKeyACLEnum: Readonly<Record<string, ApiKeyACLType>>;
export declare type ApiKeyACLType = 'addObject' | 'analytics' | 'browse' | 'deleteIndex' | 'deleteObject' | 'editSettings' | 'inference' | 'listIndexes' | 'logs' | 'personalization' | 'recommendation' | 'search' | 'seeUnretrievableAttributes' | 'settings' | 'usage';
export declare const assignUserID: (base: SearchClient) => (userID: string, clusterName: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<AssignUserIDResponse>>;
export declare type AssignUserIDResponse = {
/**
* Date of creation of the userId.
*/
createdAt: string;
};
export declare const assignUserIDs: (base: SearchClient) => (userIDs: readonly string[], clusterName: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<AssignUserIDsResponse>>;
export declare type AssignUserIDsResponse = {
/**
* Date of creation of the userId
*/
createdAt: string;
};
export declare type AutomaticFacetFilter = {
/**
* Attribute to filter on. This must match a facet placeholder in the rules pattern.
*/
readonly facet: string;
/**
* Whether the filter is disjunctive (true) or conjunctive (false).
*/
readonly disjunctive?: boolean;
/**
* Score for the filter. Typically used for optional or disjunctive filters.
*/
readonly score?: number;
};
export declare const batch: (base: SearchIndex) => (requests: readonly BatchRequest[], requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<BatchResponse>>;
export declare const BatchActionEnum: Readonly<Record<string, BatchActionType>>;
export declare type BatchActionType = 'addObject' | 'updateObject' | 'partialUpdateObject' | 'partialUpdateObjectNoCreate' | 'deleteObject' | 'delete' | 'clear';
export declare type BatchRequest = {
/**
* The batch action.
*/
readonly action: BatchActionType;
/**
* The body of the given `action`. Note that, bodies difer
* depending of the action.
*/
readonly body: Record<string, any>;
};
export declare type BatchResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
/**
* The object ids created/updated by the batch request.
*/
objectIDs: string[];
};
export declare const browseObjects: (base: SearchIndex) => <TObject>(requestOptions?: (SearchOptions & BrowseOptions<TObject> & RequestOptions) | undefined) => Readonly<Promise<void>>;
export declare type BrowseOptions<TObject> = {
/**
* The callback called for each batch of objects.
*/
readonly batch?: (batch: ReadonlyArray<TObject & ObjectWithObjectID>) => any;
/**
* The callback called to determine if the browse should stop. By
* default this checks whether there's any more content to get.
*/
readonly shouldStop?: (response: BrowseResponse<TObject>) => boolean;
};
export declare type BrowseRequestData = {
/**
* If available, should be used for browsing to the next page.
*/
readonly cursor?: string;
/**
* If cursor is not available, should be used for browsing to the next page.
*/
readonly page?: number;
};
export declare type BrowseResponse<TObject> = {
/**
* The hits per page.
*/
hits: Array<TObject & ObjectWithObjectID>;
/**
* The cursor used for iterate on the next page.
*/
cursor?: string;
};
export declare const browseRules: (base: SearchIndex) => (requestOptions?: (SearchRulesOptions & BrowseOptions<Rule> & RequestOptions) | undefined) => Readonly<Promise<void>>;
export declare const browseSynonyms: (base: SearchIndex) => (requestOptions?: (SearchSynonymsOptions & BrowseOptions<Synonym> & RequestOptions) | undefined) => Readonly<Promise<void>>;
export declare const chunkedBatch: (base: SearchIndex) => (bodies: readonly object[], action: BatchActionType, requestOptions?: (RequestOptions & ChunkOptions) | undefined) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
export declare type ChunkedBatchResponse = {
/**
* The operations task ids. May be used to perform a wait task.
*/
taskIDs: number[];
/**
* The object ids created/updated/deleted by the multiple requests.
*/
objectIDs: string[];
};
export declare type ChunkOptions = {
/**
* The number of objects per batch.
*/
readonly batchSize?: number;
};
export declare const clearDictionaryEntries: (base: SearchClient) => (dictionary: DictionaryName, requestOptions?: (RequestOptions & DictionaryEntriesOptions) | undefined) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
export declare const clearObjects: (base: SearchIndex) => (requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare const clearRules: (base: SearchIndex) => (requestOptions?: (RequestOptions & ClearRulesOptions) | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare type ClearRulesOptions = {
/**
* If the clear rules request should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
};
export declare const clearSynonyms: (base: SearchIndex) => (requestOptions?: (ClearSynonymsOptions & RequestOptions) | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare type ClearSynonymsOptions = {
/**
* If the clear synonyms request should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
};
export declare type Cluster = {
/**
* The cluster name
*/
readonly clusterName: string;
/**
* Number of records in the cluster.
*/
readonly nbRecords: number;
/**
* Number of users assign to the cluster.
*/
readonly nbUserIDs: number;
/**
* Data size taken by all the users assigned to the cluster.
*/
readonly dataSize: number;
};
export declare type Condition = {
/**
* Query patterns are expressed as a string with a specific syntax. A pattern is a sequence of tokens.
*/
readonly pattern?: string;
/**
* Apply this rule only when the filter matches.
*/
readonly filters?: string;
/**
* is | startsWith | endsWith | contains: Whether the pattern must match the beginning or the end of the query string, or both, or none.
*/
readonly anchoring?: 'is' | 'startsWith' | 'endsWith' | 'contains';
/**
* Rule context (format: [A-Za-z0-9_-]+). When specified, the rule is contextual and applies only when the same context is specified at query time (using the ruleContexts parameter).
* When absent, the rule is generic and always applies (provided that its other conditions are met, of course).
*/
readonly context?: string;
/**
* If set to true, alternatives make the rule to trigger on synonyms, typos and plurals.
* Note that setting ignorePlurals to false overrides this parameter.
*/
readonly alternatives?: boolean;
};
export declare type Consequence = {
/**
* Additional search parameters. Any valid search parameter is allowed.
*/
readonly params?: ConsequenceParams & Pick<SearchOptions, Exclude<keyof SearchOptions, 'query'>>;
/**
* Objects to promote as hits.
*/
readonly promote?: readonly ConsequencePromote[];
/**
* Objects to hide from hits.
*/
readonly hide?: ReadonlyArray<{
readonly objectID: string;
}>;
/**
* Whether the Query Rule should promote or not promoted items.
*/
readonly filterPromotes?: boolean;
/**
* Custom JSON object that will be appended to the userData array in the response.
* This object is not interpreted by the API. It is limited to 1kB of minified JSON.
*/
readonly userData?: any;
};
export declare type ConsequenceParams = {
/**
* When providing a string, it replaces the entire query string.
* When providing an object, it describes incremental edits to be made to the query string (but you cant do both).
*/
readonly query?: ConsequenceQuery | string;
/**
* Names of facets to which automatic filtering must be applied; they must match the facet name of a facet value placeholder in the query pattern.
*/
readonly automaticFacetFilters?: readonly AutomaticFacetFilter[] | readonly string[];
/**
* Same syntax as automaticFacetFilters, but the engine treats the filters as optional.
* Behaves like optionalFilters.
*/
readonly automaticOptionalFacetFilters?: readonly AutomaticFacetFilter[] | readonly string[];
/**
* Content defining how the search interface should be rendered.
* A default value for this can be set via settings
*/
readonly renderingContent?: Settings['renderingContent'];
};
export declare type ConsequencePromote = {
/**
* Unique identifier of the object to promote.
*/
readonly objectID: string;
/**
* Promoted rank for the object (zero-based).
*/
readonly position: number;
} | {
/**
* List of unique identifiers for the objects to promote.
*/
readonly objectIDs: readonly string[];
/**
* Promoted start rank for the objects (zero-based).
*/
readonly position: number;
};
export declare type ConsequenceQuery = {
/**
* List of removes.
*/
readonly remove?: readonly string[];
/**
* List of edits.
*/
readonly edits?: ReadonlyArray<{
/**
* Type of edit.
*/
readonly type?: 'remove' | 'replace';
/**
* Text or patterns to remove from the query string.
*/
readonly delete?: string;
/**
* Text that should be inserted in place of the removed text inside the query string.
*/
readonly insert?: string;
}>;
};
export declare const copyIndex: (base: SearchClient) => (from: string, to: string, requestOptions?: (CopyIndexOptions & RequestOptions) | undefined) => Readonly<WaitablePromise<IndexOperationResponse>>;
export declare type CopyIndexOptions = {
readonly scope?: readonly ScopeType[];
};
export declare const copyRules: (base: SearchClient) => (from: string, to: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<IndexOperationResponse>>;
export declare const copySettings: (base: SearchClient) => (from: string, to: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<IndexOperationResponse>>;
export declare const copySynonyms: (base: SearchClient) => (from: string, to: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<IndexOperationResponse>>;
export declare function createBrowsablePromise<TObject>(options: {
readonly shouldStop: (response: BrowseResponse<TObject>) => boolean;
readonly request: (data: BrowseRequestData) => Readonly<Promise<BrowseResponse<TObject>>>;
} & BrowseOptions<TObject>): Readonly<Promise<void>>;
export declare type CreateIndex = <TMethods extends {
readonly [key: string]: (base: SearchIndex) => (...args: any) => any;
}>(indexName: string, options?: {
readonly methods?: TMethods;
}) => SearchIndex & {
[key in keyof TMethods extends string ? keyof TMethods : never]: ReturnType<TMethods[key]>;
};
export declare function createMissingObjectIDError(): Error;
export declare function createObjectNotFoundError(): Error;
export declare const createSearchClient: CreateClient<SearchClient, SearchClientOptions & ClientTransporterOptions>;
export declare function createValidUntilNotFoundError(): Error;
export declare const customRequest: <TResponse = any>(base: SearchClient) => (request: Request, requestOptions?: RequestOptions | undefined) => Readonly<Promise<TResponse>>;
export declare const deleteApiKey: (base: SearchClient) => (apiKey: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteApiKeyResponse>>;
export declare type DeleteApiKeyResponse = {
/**
* The date when the api key was deleted.
*/
deletedAt: string;
};
export declare const deleteBy: (base: SearchIndex) => (filters: DeleteByFiltersOptions, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare type DeleteByFiltersOptions = {
/**
* Filter the query with numeric, facet and/or tag filters.
*/
readonly filters?: string;
/**
* Filter hits by facet value.
*/
readonly facetFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Filter on numeric attributes.
*/
readonly numericFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Filter hits by tags. tagFilters is a different way of filtering, which relies on the _tags
* attribute. It uses a simpler syntax than filters. You can use it when you want to do
* simple filtering based on tags.
*/
readonly tagFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Search for entries around a central geolocation, enabling a geo search within a circular area.
*/
readonly aroundLatLng?: string;
/**
* Search for entries around a given location automatically computed from the requesters IP address.
*/
readonly aroundLatLngViaIP?: boolean;
/**
* Search inside a rectangular area (in geo coordinates).
*/
readonly insideBoundingBox?: ReadonlyArray<readonly number[]> | string;
/**
* Search inside a polygon (in geo coordinates).
*/
readonly insidePolygon?: ReadonlyArray<readonly number[]>;
};
export declare const deleteDictionaryEntries: (base: SearchClient) => (dictionary: DictionaryName, objectIDs: readonly string[], requestOptions?: (RequestOptions & DictionaryEntriesOptions) | undefined) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
export declare const deleteIndex: (base: SearchIndex) => (requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare const deleteObject: (base: SearchIndex) => (objectID: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare const deleteObjects: (base: SearchIndex) => (objectIDs: readonly string[], requestOptions?: (RequestOptions & ChunkOptions) | undefined) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
export declare type DeleteResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare const deleteRule: (base: SearchIndex) => (objectID: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare const deleteSynonym: (base: SearchIndex) => (objectID: string, requestOptions?: (RequestOptions & DeleteSynonymOptions) | undefined) => Readonly<WaitablePromise<DeleteResponse>>;
export declare type DeleteSynonymOptions = {
/**
* If the delete synonym request should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
};
export declare type DictionaryEntriesOptions = {
/**
* Array of dictionary entries
*/
readonly dictionaryEntries: readonly DictionaryEntry[];
};
export declare type DictionaryEntriesResponse = {
/**
* When the given rules got saved.
*/
updatedAt: number;
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare type DictionaryEntry = {
/**
* Unique identifier for the rule (format: [A-Za-z0-9_-]+).
*/
readonly objectID: string;
readonly language: string;
readonly word?: string;
readonly words?: readonly string[];
readonly decomposition?: readonly string[];
readonly state?: 'enabled' | 'disabled';
};
export declare type DictionaryName = 'plurals' | 'stopwords' | 'compounds';
export declare type DictionarySettings = {
/**
* Disable the builtin Algolia entries for a type of dictionary per language.
*/
readonly disableStandardEntries: RequireAtLeastOne<Record<DictionaryName, Record<string, boolean>>>;
};
export declare const exists: (base: SearchIndex) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<boolean>>;
export declare type FacetHit = {
/**
* The value of the facet.
*/
readonly value: string;
/**
* The highlighted value.
*/
readonly highlighted: string;
/**
* The count.
*/
readonly count: number;
};
export declare const findAnswers: (base: SearchIndex) => <TObject>(query: string, queryLanguages: readonly string[], requestOptions?: (RequestOptions & FindAnswersOptions) | undefined) => Readonly<Promise<FindAnswersResponse<TObject>>>;
export declare type FindAnswersOptions = {
/**
* Attributes to use for predictions.
* If using the default (["*"]), all attributes are used to find answers.
*/
readonly attributesForPrediction?: readonly string[];
/**
* Maximum number of answers to retrieve from the Answers Engine.
* Cannot be greater than 1000.
*/
readonly nbHits?: number;
/**
* Threshold for the answers confidence score:
* only answers with extracts that score above this threshold are returned.
*/
readonly threshold?: number;
/**
* Whether the attribute name in which the answer was found should be returned.
* This option is expensive in processing time.
*/
readonly returnExtractAttribute?: boolean;
/**
* Algolia search parameters to use to fetch the hits.
* Can be any search parameter, except:
* - attributesToSnippet
* - hitsPerPage
* - queryType
* - naturalLanguages and associated parameters
* (removeStopWords, ignorePlurals, and removeWordsIfNoResults)
*/
readonly searchParameters?: Omit<SearchOptions, 'attributesToSnippet' | 'hitsPerPage' | 'queryType' | 'naturalLanguages' | 'removeStopWords' | 'ignorePlurals' | 'removeWordsIfNoResults'>;
};
export declare type FindAnswersResponse<TObject = {}> = Omit<SearchResponse<TObject>, 'hits'> & {
/**
* The hits returned by the search.
*
* Hits are ordered according to the ranking or sorting of the index being queried.
*/
hits: Array<Hit<TObject & {
_answer?: {
extract: string;
score: number;
extractAttribute: string;
};
}>>;
};
export declare const findObject: (base: SearchIndex) => <TObject>(callback: (object: TObject & ObjectWithObjectID) => boolean, requestOptions?: (FindObjectOptions & RequestOptions) | undefined) => Readonly<Promise<FindObjectResponse<TObject>>>;
export declare type FindObjectOptions = {
/**
* If the underlying find object options should paginate
* over a search method.
*/
readonly paginate?: boolean;
/**
* The query used by the underlying find object to
* find the object.
*/
readonly query?: string;
};
export declare type FindObjectResponse<TObject> = {
/**
* The found object.
*/
object: TObject & ObjectWithObjectID;
/**
* The position where the object was found.
*/
position: number;
/**
* The page where the object was found.
*/
page: number;
};
export declare const generateSecuredApiKey: () => (parentApiKey: string, restrictions: SecuredApiKeyRestrictions) => string;
export declare const getApiKey: (base: SearchClient) => (apiKey: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<GetApiKeyResponse>>;
export declare type GetApiKeyResponse = {
/**
* The api key value
*/
value: string;
/**
* Date of creation (Unix timestamp).
*/
createdAt: number;
/**
* List of permissions the key contains.
*/
acl: ApiKeyACLType[];
/**
* A Unix timestamp used to define the expiration date of the API key.
*/
validity: number;
/**
* Specify the maximum number of hits this API key can retrieve in one call.
* This parameter can be used to protect you from attempts at retrieving your entire index contents by massively querying the index.
*/
maxHitsPerQuery?: number;
/**
* Specify the maximum number of API calls allowed from an IP address per hour. Each time an API call is performed with this key, a check is performed.
*/
maxQueriesPerIPPerHour?: number;
/**
* Specify the list of targeted indices. You can target all indices starting with a prefix or ending with a suffix using the * character.
*/
indexes?: string[];
/**
* Specify the list of referers. You can target all referers starting with a prefix, ending with a suffix using the * character.
*/
referers?: string[];
/**
* IPv4 network allowed to use the generated key.
* This is used for more protection against API key leaking and reuse.
* Note that you can only provide a single source, but you can specify a range of IPs (e.g., 192.168.1.0/24).
*/
restrictSources?: string;
/**
* Specify the list of query parameters. You can force the query parameters for a query using the url string format.
*/
queryParameters?: string;
/**
* Specify a description of the API key. Used for informative purposes only. It has impact on the functionality of the API key.
*/
description?: string;
};
export declare const getAppTask: (base: SearchClient) => (taskID: number, requestOptions?: RequestOptions | undefined) => Readonly<Promise<TaskStatusResponse>>;
export declare const getDictionarySettings: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<GetDictionarySettingsResponse>>;
export declare type GetDictionarySettingsResponse = {
/**
* Disable the builtin Algolia entries for a type of dictionary per language.
*/
readonly disableStandardEntries: RequireAtLeastOne<Record<DictionaryName, Record<string, boolean>>>;
};
export declare const getLogs: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<GetLogsResponse>>;
export declare type GetLogsOptions = {
/**
* The offset.
*/
readonly offset: number;
/**
* The length size.
*/
readonly length: number;
};
export declare type GetLogsResponse = {
/**
* The list of logs.
*/
logs: Log[];
};
export declare const getObject: (base: SearchIndex) => <TObject>(objectID: string, requestOptions?: (RequestOptions & GetObjectOptions) | undefined) => Readonly<Promise<TObject & ObjectWithObjectID>>;
export declare type GetObjectOptions = {
/**
* The attributes that should come with witch object.
*/
readonly attributesToRetrieve?: readonly string[];
};
export declare const getObjectPosition: <TObject>() => (searchResponse: SearchResponse<TObject>, objectID: string) => number;
export declare const getObjects: (base: SearchIndex) => <TObject>(objectIDs: readonly string[], requestOptions?: (RequestOptions & GetObjectsOptions) | undefined) => Readonly<Promise<GetObjectsResponse<TObject>>>;
export declare type GetObjectsOptions = {
/**
* The attributes that should come with witch object.
*/
readonly attributesToRetrieve?: readonly string[];
};
export declare type GetObjectsResponse<TObject> = {
/**
* The list of results.
*/
results: Array<(TObject & ObjectWithObjectID) | null>;
};
export declare const getRule: (base: SearchIndex) => (objectID: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<Rule>>;
export declare const getSecuredApiKeyRemainingValidity: () => (securedApiKey: string) => number;
export declare const getSettings: (base: SearchIndex) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<Settings>>;
export declare const getSynonym: (base: SearchIndex) => (objectID: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<Synonym>>;
export declare const getTask: (base: SearchIndex) => (taskID: number, requestOptions?: RequestOptions | undefined) => Readonly<Promise<TaskStatusResponse>>;
export declare const getTopUserIDs: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<GetTopUserIDsResponse>>;
export declare type GetTopUserIDsResponse = {
/**
* Mapping of cluster names to top users.
*/
topUsers: Record<string, UserIDResponse[]>;
};
export declare const getUserID: (base: SearchClient) => (userID: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<UserIDResponse>>;
export declare const hasPendingMappings: (base: SearchClient) => (requestOptions?: (HasPendingMappingsOptions & RequestOptions) | undefined) => Readonly<Promise<HasPendingMappingsResponse>>;
export declare type HasPendingMappingsOptions = {
/**
* If the clusters pending mapping state should be on the response.
*
* @defaultValue false
*/
readonly retrieveMappings?: boolean;
/**
* If the clusters pending mapping state should be on the response.
*
* @defaultValue false
*
* @internal
*/
readonly getClusters?: boolean;
};
export declare type HasPendingMappingsResponse = {
/**
* If there is any clusters with pending mapping state.
*/
pending: boolean;
/**
* Describe cluster pending (migrating, creating, deleting) mapping state.
*/
clusters?: {
[key: string]: string[];
};
};
declare type HighlightMatch = {
readonly value: string;
readonly matchLevel: 'none' | 'partial' | 'full';
readonly matchedWords: readonly string[];
readonly fullyHighlighted?: boolean;
};
export declare type HighlightResult<THit> = THit extends string | number ? HighlightMatch : {
[KAttribute in keyof THit]?: HighlightResult<THit[KAttribute]>;
};
export declare type Hit<THit> = THit & {
readonly objectID: string;
readonly _highlightResult?: HighlightResult<THit>;
readonly _snippetResult?: SnippetResult<THit>;
readonly _rankingInfo?: RankingInfo;
readonly _distinctSeqID?: number;
};
export declare type Index = {
/**
* Index name.
*/
readonly name: string;
/**
* Index creation date. (ISO-8601 format)
*/
readonly createdAt: string;
/**
* Date of last update. (ISO-8601 format)
*/
readonly updatedAt: string;
/**
* Number of records contained in the index
*/
readonly entries: number;
/**
* Number of bytes of the index in minified format.
*/
readonly dataSize: number;
/**
* Number of bytes of the index binary file.
*/
readonly fileSize: number;
/**
* Last build time in seconds.
*/
readonly lastBuildTimeS: number;
/**
* Number of pending indexing operations.
*/
readonly numberOfPendingTasks: number;
/**
* A boolean which says whether the index has pending tasks.
*/
readonly pendingTask: boolean;
/**
* Only present if the index is a replica.
* Contains the name of the related primary index.
*/
readonly primary?: string;
/**
* Only present if the index is a primary index with replicas.
* Contains the names of all linked replicas.
*/
readonly replicas?: readonly string[];
};
export declare type IndexOperationResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
/**
* @deprecated please use `Index` instead of `Indice`
*/
export declare type Indice = Index;
export declare const initIndex: (base: SearchClient) => CreateIndex;
export declare const listApiKeys: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<ListApiKeysResponse>>;
export declare type ListApiKeysResponse = {
/**
* List of keys
*/
keys: GetApiKeyResponse[];
};
export declare const listClusters: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<ListClustersResponse>>;
export declare type ListClustersResponse = {
/**
* List of clusters.
*/
clusters: Cluster[];
};
export declare const listIndices: (base: SearchClient) => (requestOptions?: RequestOptions | undefined) => Readonly<Promise<ListIndicesResponse>>;
export declare type ListIndicesResponse = {
/**
* Number of pages
*/
nbPages: number;
/**
* List of index response
*/
items: Index[];
};
export declare const listUserIDs: (base: SearchClient) => (requestOptions?: (ListUserIDsOptions & RequestOptions) | undefined) => Readonly<Promise<ListUserIDsResponse>>;
export declare type ListUserIDsOptions = {
/**
* Page to fetch.
*/
readonly page?: number;
/**
* Number of users to retrieve per page.
*/
readonly hitsPerPage?: number;
};
export declare type ListUserIDsResponse = {
/**
* List of users id.
*/
userIDs: UserIDResponse[];
};
export declare type Log = {
/**
* Timestamp in ISO-8601 format.
*/
readonly timestamp: string;
/**
* Rest type of the method.
*/
readonly method: string;
/**
* Http response code.
*/
readonly answer_code: string;
/**
* Request body. Its truncated after 1000 characters.
*/
readonly query_body: string;
/**
* Answer body. Its truncated after 1000 characters.
*/
readonly answer: string;
/**
* Request URL.
*/
readonly url: string;
/**
* Client ip of the call.
*/
readonly ip: string;
/**
* SHA1 ID of entry.
*/
readonly sha1: string;
/**
* Request Headers (API Key is obfuscated).
*/
readonly query_headers: string;
/**
* Number Of Api Calls
*/
readonly nb_api_calls?: string;
/**
* Processing time for the query. This does not include network time.
*/
readonly processing_time_ms: string;
/**
* Number of hits returned for the query.
*/
readonly query_nb_hits?: string;
/**
* Exhaustive flags used during the query.
*/
readonly exhaustive?: boolean;
/**
* Index name of the log
*/
readonly index?: string;
/**
* Internal queries performed for this query.
*/
readonly inner_queries: ReadonlyArray<{
/**
* Index name of the query.
*/
readonly index_name: string;
/**
* Query ID of the query.
*/
readonly query_id?: string;
/**
* The offset of the query.
*/
readonly offset?: number;
/**
* The user token of the query.
*/
readonly user_token?: string;
}>;
};
export declare const moveIndex: (base: SearchClient) => (from: string, to: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<IndexOperationResponse>>;
export declare const multipleBatch: (base: SearchClient) => (requests: readonly MultipleBatchRequest[], requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<MultipleBatchResponse>>;
export declare type MultipleBatchRequest = {
/**
* The index name where the multiple batch are going to be applied.
*/
readonly indexName: string;
/**
* The action used.
*/
readonly action: BatchActionType;
/**
* The body associated with the request.
*/
readonly body: Record<string, any>;
};
export declare type MultipleBatchResponse = {
/**
* The list of object ids.
*/
objectIDs: string[];
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: Record<string, number>;
};
export declare type MultipleGetObject = {
/**
* The index name.
*/
readonly indexName: string;
/**
* The object id.
*/
readonly objectID: string;
/**
* The attributes that should be returned with the object.
*/
readonly attributesToRetrieve?: readonly string[];
};
export declare const multipleGetObjects: (base: SearchClient) => <TObject>(requests: readonly MultipleGetObject[], requestOptions?: RequestOptions | undefined) => Readonly<Promise<MultipleGetObjectsResponse<TObject>>>;
export declare type MultipleGetObjectsResponse<TObject> = {
/**
* The list of objects.
*/
results: Array<TObject & ObjectWithObjectID>;
};
export declare const multipleQueries: (base: SearchClient) => <TObject>(queries: readonly MultipleQueriesQuery[], requestOptions?: (RequestOptions & MultipleQueriesOptions) | undefined) => Readonly<Promise<MultipleQueriesResponse<TObject>>>;
export declare type MultipleQueriesOptions = {
readonly strategy?: StrategyType;
};
export declare type MultipleQueriesQuery = SharedMultipleQueriesQuery & ({
readonly type?: 'default';
} | {
readonly type: 'facet';
/**
* The facet name.
*/
readonly facet: string;
/**
* The search options.
*/
readonly params?: SharedMultipleQueriesQuery['params'] & {
/**
* The search query used to search the facet attribute. Follows the same rules for an index query: a single character, a partial word, a word, or a phrase.
*/
readonly facetQuery?: string;
};
});
export declare type MultipleQueriesResponse<TObject> = {
/**
* The list of results.
*/
results: Array<SearchResponse<TObject> | SearchForFacetValuesResponse>;
};
export declare const multipleSearchForFacetValues: (base: SearchClient) => (queries: readonly {
readonly indexName: string;
readonly params: SearchForFacetValuesQueryParams & SearchOptions;
}[], requestOptions?: RequestOptions | undefined) => Readonly<Promise<readonly SearchForFacetValuesResponse[]>>;
export declare type ObjectWithObjectID = {
/**
* The object id of the object.
*/
readonly objectID: string;
};
export declare const partialUpdateObject: (base: SearchIndex) => (object: Record<string, any>, requestOptions?: (RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) | undefined) => Readonly<WaitablePromise<PartialUpdateObjectResponse>>;
export declare type PartialUpdateObjectResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
/**
* The object id updated.
*/
objectID: string;
};
export declare const partialUpdateObjects: (base: SearchIndex) => (objects: readonly Record<string, any>[], requestOptions?: (RequestOptions & ChunkOptions & PartialUpdateObjectsOptions) | undefined) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
export declare type PartialUpdateObjectsOptions = {
/**
* If the object should be created when does not exist.
*/
readonly createIfNotExists?: boolean;
};
export declare type RankingInfo = {
readonly promoted: boolean;
readonly nbTypos: number;
readonly firstMatchedWord: number;
readonly proximityDistance?: number;
readonly geoDistance: number;
readonly geoPrecision?: number;
readonly nbExactWords: number;
readonly words: number;
readonly filters: number;
readonly userScore: number;
readonly matchedGeoLocation?: {
readonly lat: number;
readonly lng: number;
readonly distance: number;
};
readonly personalization?: {
readonly filtersScore: number;
readonly rankingScore: number;
readonly score: number;
};
readonly promotedByReRanking?: boolean;
};
export declare type RedirectRuleIndexMetadata = {
/**
* Source index for the redirect rule
*/
readonly source: string;
/**
* Destination index for the redirect rule
*/
readonly dest: string;
/**
* Reason for the redirect rule
*/
readonly reason: string;
/**
* Status for the redirect rule
*/
readonly succeed: boolean;
/**
* Data for the redirect rule
*/
readonly data: {
/**
* Rule objectId
*/
readonly ruleObjectID: string;
};
};
export declare const removeUserID: (base: SearchClient) => (userID: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<RemoveUserIDResponse>>;
export declare type RemoveUserIDResponse = {
/**
* When the given `userID` got removed.
*/
deletedAt: string;
};
export declare const replaceAllObjects: (base: SearchIndex) => (objects: readonly Readonly<Record<string, any>>[], requestOptions?: (ReplaceAllObjectsOptions & ChunkOptions & SaveObjectsOptions & RequestOptions) | undefined) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
export declare type ReplaceAllObjectsOptions = {
/**
* If the all objects should be replaced using wait operations. Keep
* in mind that, when the `safe` option is used, the operation may
* take a little more than expected.
*/
readonly safe?: boolean;
};
export declare const replaceAllRules: (base: SearchIndex) => (rules: readonly Rule[], requestOptions?: (RequestOptions & SaveRulesOptions) | undefined) => Readonly<WaitablePromise<SaveRulesResponse>>;
export declare const replaceAllSynonyms: (base: SearchIndex) => (synonyms: readonly Synonym[], requestOptions?: (RequestOptions & Pick<SaveSynonymsOptions, "forwardToReplicas">) | undefined) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
export declare const replaceDictionaryEntries: (base: SearchClient) => (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: (RequestOptions & DictionaryEntriesOptions) | undefined) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
export declare type RequireAtLeastOne<TType> = {
[TKey in keyof TType]-?: Required<Pick<TType, TKey>> & Partial<Pick<TType, Exclude<keyof TType, TKey>>>;
}[keyof TType];
export declare const restoreApiKey: (base: SearchClient) => (apiKey: string, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<RestoreApiKeyResponse>>;
export declare type RestoreApiKeyResponse = {
/**
* Restoration date of the API key.
*/
createdAt: string;
};
export declare type Rule = {
/**
* Unique identifier for the rule (format: [A-Za-z0-9_-]+).
*/
readonly objectID: string;
/**
* Condition of the rule, expressed using the following variables: pattern, anchoring, context.
*
* @deprecated This parameter is deprecated in favor of `conditions`.
*/
readonly condition?: Condition;
/**
* Conditions of the rule, expressed using the following variables: pattern, anchoring, context.
*/
readonly conditions?: readonly Condition[];
/**
* Consequence of the rule. At least one of the following object must be used: params, promote, hide, userData.
*/
readonly consequence?: Consequence;
/**
* This field is intended for rule management purposes, in particular to ease searching for rules and presenting them to human readers. It is not interpreted by the API.
*/
readonly description?: string;
/**
* Whether the rule is enabled. Disabled rules remain in the index, but are not applied at query time.
*/
readonly enabled?: boolean;
/**
* By default, rules are permanently valid. When validity periods are specified, the rule applies only during those periods; it is ignored the rest of the time.
* The list must not be empty.
*/
readonly validity?: readonly TimeRange[];
};
export declare const saveDictionaryEntries: (base: SearchClient) => (dictionary: DictionaryName, entries: readonly DictionaryEntry[], requestOptions?: (RequestOptions & DictionaryEntriesOptions) | undefined) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
export declare const saveObject: (base: SearchIndex) => (object: Readonly<Record<string, any>>, requestOptions?: (RequestOptions & ChunkOptions & SaveObjectsOptions) | undefined) => Readonly<WaitablePromise<SaveObjectResponse>>;
export declare type SaveObjectResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
/**
* The object id saved.
*/
objectID: string;
};
export declare const saveObjects: (base: SearchIndex) => (objects: readonly Readonly<Record<string, any>>[], requestOptions?: (RequestOptions & ChunkOptions & SaveObjectsOptions) | undefined) => Readonly<WaitablePromise<ChunkedBatchResponse>>;
export declare type SaveObjectsOptions = {
/**
* If the object id should be generated when does not exists.
*/
readonly autoGenerateObjectIDIfNotExist?: boolean;
};
export declare const saveRule: (base: SearchIndex) => (rule: Rule, requestOptions?: (RequestOptions & SaveRulesOptions) | undefined) => Readonly<WaitablePromise<SaveRuleResponse>>;
export declare type SaveRuleResponse = {
/**
* When the given rules got saved.
*/
updatedAt: number;
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare const saveRules: (base: SearchIndex) => (rules: readonly Rule[], requestOptions?: (RequestOptions & SaveRulesOptions) | undefined) => Readonly<WaitablePromise<SaveRulesResponse>>;
export declare type SaveRulesOptions = {
/**
* If the saved rules should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
/**
* If the existing rules should be removed.
*/
readonly clearExistingRules?: boolean;
};
export declare type SaveRulesResponse = {
/**
* When the given rules got saved.
*/
updatedAt: number;
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare const saveSynonym: (base: SearchIndex) => (synonym: Synonym, requestOptions?: (RequestOptions & SaveSynonymsOptions) | undefined) => Readonly<WaitablePromise<SaveSynonymResponse>>;
export declare type SaveSynonymResponse = {
/**
* When the given synonyms got saved.
*/
updatedAt: number;
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare const saveSynonyms: (base: SearchIndex) => (synonyms: readonly Synonym[], requestOptions?: (SaveSynonymsOptions & RequestOptions) | undefined) => Readonly<WaitablePromise<SaveSynonymsResponse>>;
export declare type SaveSynonymsOptions = {
/**
* If the saved synonyms should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
/**
* If the existing synonyms should be removed.
* @deprecated use clearExistingSynonyms
*/
readonly replaceExistingSynonyms?: boolean;
/**
* If the existing synonyms should be removed.
*/
readonly clearExistingSynonyms?: boolean;
};
export declare type SaveSynonymsResponse = {
/**
* When the given synonyms got saved.
*/
updatedAt: number;
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
};
export declare const ScopeEnum: Readonly<Record<string, ScopeType>>;
export declare type ScopeType = 'settings' | 'synonyms' | 'rules';
export declare const search: (base: SearchIndex) => <TObject>(query: string, requestOptions?: (RequestOptions & SearchOptions) | undefined) => Readonly<Promise<SearchResponse<TObject>>>;
export declare type SearchClient = {
/**
* The application id.
*/
readonly appId: string;
/**
* The underlying transporter.
*/
readonly transporter: Transporter;
/**
* Mutates the transporter, adding the given user agent.
*/
readonly addAlgoliaAgent: (segment: string, version?: string) => void;
/**
* Clears both requests and responses caches.
*/
readonly clearCache: () => Readonly<Promise<void>>;
};
export declare type SearchClientOptions = {
/**
* The application id.
*/
readonly appId: string;
/**
* The api key.
*/
readonly apiKey: string;
/**
* The auth mode type. In browser environments credentials may
* be passed within the headers.
*/
readonly authMode?: AuthModeType;
};
export declare const searchDictionaryEntries: (base: SearchClient) => (dictionary: DictionaryName, query: string, requestOptions?: RequestOptions | undefined) => Readonly<Promise<SearchDictionaryEntriesResponse>>;
export declare type SearchDictionaryEntriesResponse = {
/**
* The dictionary entries returned by the search.
*/
hits: DictionaryEntry[];
/**
* Index of the current page (zero-based).
*/
page: number;
/**
* Number of dictionary entries matched by the query.
*/
nbHits: number;
/**
* Number of pages returned.
*
* Calculation is based on the total number of hits (nbHits) divided by the
* number of hits per page (hitsPerPage), rounded up to the nearest integer.
*/
nbPages: number;
};
export declare const searchForFacetValues: (base: SearchIndex) => (facetName: string, facetQuery: string, requestOptions?: (RequestOptions & SearchOptions) | undefined) => Readonly<Promise<SearchForFacetValuesResponse>>;
export declare type SearchForFacetValuesQueryParams = {
/**
* The facet name.
*/
readonly facetName: string;
/**
* The facet query.
*/
readonly facetQuery: string;
};
export declare type SearchForFacetValuesResponse = {
/**
* The list of facet hits.
*/
facetHits: FacetHit[];
/**
* The exhaustive facets count.
*/
exhaustiveFacetsCount: boolean;
/**
* The time that the API toke the process the request.
*/
processingTimeMS?: number;
};
export declare type SearchIndex = {
/**
* The application id.
*/
readonly appId: string;
/**
* The index name.
*/
readonly indexName: string;
/**
* The underlying transporter.
*/
readonly transporter: Transporter;
};
export declare type SearchOptions = {
/**
* Create a new query with an empty search query.
*/
readonly query?: string;
/**
* Allows a search for similar objects, but the query has to be constructed on your end and included alongside an empty query.
*
* The similarQuery should be made from the tags and keywords of the relevant object.
*/
readonly similarQuery?: string;
/**
* Filter hits by facet value.
*/
readonly facetFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Create filters for ranking purposes, where records that match the filter are ranked highest.
*/
readonly optionalFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Filter on numeric attributes.
*/
readonly numericFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Filter hits by tags. tagFilters is a different way of filtering, which relies on the _tags
* attribute. It uses a simpler syntax than filters. You can use it when you want to do
* simple filtering based on tags.
*/
readonly tagFilters?: string | readonly string[] | ReadonlyArray<readonly string[] | string>;
/**
* Determines how to calculate the total score for filtering.
*/
readonly sumOrFiltersScores?: boolean;
/**
* Filter the query with numeric, facet and/or tag filters.
*/
readonly filters?: string;
/**
* Specify the page to retrieve.
*/
readonly page?: number;
/**
* Set the number of hits per page.
*/
readonly hitsPerPage?: number;
/**
* Specify the offset of the first hit to return.
*/
readonly offset?: number;
/**
* Set the number of hits to retrieve (used only with offset).
*/
readonly length?: number;
/**
* List of attributes to highlight.
*/
readonly attributesToHighlight?: readonly string[];
/**
* List of attributes to snippet, with an optional maximum number of words to snippet.
*/
readonly attributesToSnippet?: readonly string[];
/**
* Gives control over which attributes to retrieve and which not to retrieve.
*/
readonly attributesToRetrieve?: readonly string[];
/**
* The HTML string to insert before the highlighted parts in all highlight and snippet results.
*/
readonly highlightPreTag?: string;
/**
* The HTML string to insert after the highlighted parts in all highlight and snippet results
*/
readonly highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
*/
readonly snippetEllipsisText?: string;
/**
* Restrict highlighting and snippeting to items that matched the query.
*/
readonly restrictHighlightAndSnippetArrays?: boolean;
/**
* Facets to retrieve.
*/
readonly facets?: readonly string[];
/**
* Maximum number of facet values to return for each facet during a regular search.
*/
readonly maxValuesPerFacet?: number;
/**
* Force faceting to be applied after de-duplication (via the Distinct setting).
*/
readonly facetingAfterDistinct?: boolean;
/**
* Minimum number of characters a word in the query string must contain to accept matches with 1 typo
*/
readonly minWordSizefor1Typo?: number;
/**
* Minimum number of characters a word in the query string must contain to accept matches with 2 typos.
*/
readonly minWordSizefor2Typos?: number;
/**
* Whether to allow typos on numbers (numeric tokens) in the query string.
*/
readonly allowTyposOnNumericTokens?: boolean;
/**
* List of attributes on which you want to disable typo tolerance.
*/
readonly disableTypoToleranceOnAttributes?: readonly string[];
/**
* Controls if and how query words are interpreted as prefixes.
*/
readonly queryType?: 'prefixLast' | 'prefixAll' | 'prefixNone';
/**
* Selects a strategy to remove words from the query when it doesnt match any hits.
*/
readonly removeWordsIfNoResults?: 'none' | 'lastWords' | 'firstWords' | 'allOptional';
/**
* Enables the advanced query syntax.
*/
readonly advancedSyntax?: boolean;
/**
* AdvancedSyntaxFeatures can be exactPhrase or excludeWords
*/
readonly advancedSyntaxFeatures?: ReadonlyArray<'exactPhrase' | 'excludeWords'>;
/**
* A list of words that should be considered as optional when found in the query.
*/
readonly optionalWords?: string | readonly string[];
/**
* List of attributes on which you want to disable the exact ranking criterion.
*/
readonly disableExactOnAttributes?: readonly string[];
/**
* Controls how the exact ranking criterion is computed when the query contains only one word.
*/
readonly exactOnSingleWordQuery?: 'attribute' | 'none' | 'word';
/**
* List of alternatives that should be considered an exact match by the exact ranking criterion.
*/
readonly alternativesAsExact?: ReadonlyArray<'ignorePlurals' | 'singleWordSynonym' | 'multiWordsSynonym'>;
/**
* Whether rules should be globally enabled.
*/
readonly enableRules?: boolean;
/**
* Enables contextual rules.
*/
readonly ruleContexts?: readonly string[];
/**
* Enables de-duplication or grouping of results.
*/
readonly distinct?: boolean | number;
/**
* Whether the current query will be taken into account in the Analytics
*/
readonly analytics?: boolean;
/**
* List of tags to apply to the query in the analytics.
*/
readonly analyticsTags?: readonly string[];
/**
* Whether to take into account an indexs synonyms for a particular search.
*/
readonly synonyms?: boolean;
/**
* Whether to highlight and snippet the original word that matches the synonym or the synonym itself.
*/
readonly replaceSynonymsInHighlight?: boolean;
/**
* Precision of the proximity ranking criterion.
*/
readonly minProximity?: number;
/**
* Choose which fields the response will contain. Applies to search and browse queries.
*/
readonly responseFields?: readonly string[];
/**
* Maximum number of facet hits to return during a search for facet values.
*/
readonly maxFacetHits?: number;
/**
* Whether to include or exclude a query from the processing-time percentile computation.
*/
readonly percentileComputation?: boolean;
/**
* Enable the Click Analytics feature.
*/
readonly clickAnalytics?: boolean;
/**
* The `personalizationImpact` parameter sets the percentage of the impact that personalization has on ranking records. The
* value must be between 0 and 100 (inclusive). This parameter will not be taken into account if `enablePersonalization`
* is **false**.
*/
readonly personalizationImpact?: number;
/**
* Enable personalization for the query
*/
readonly enablePersonalization?: boolean;
/**
* Restricts a given query to look in only a subset of your searchable attributes.
*/
readonly restrictSearchableAttributes?: readonly string[];
/**
* Controls how facet values are sorted.
*/
readonly sortFacetValuesBy?: 'count' | 'alpha';
/**
* Controls whether typo tolerance is enabled and how it is applied.
*/
readonly typoTolerance?: boolean | 'min' | 'strict';
/**
* Search for entries around a central geolocation, enabling a geo search within a circular area.
*/
readonly aroundLatLng?: string;
/**
* Search for entries around a given location automatically computed from the requesters IP address.
*/
readonly aroundLatLngViaIP?: boolean;
/**
* Define the maximum radius for a geo search (in meters).
*/
readonly aroundRadius?: number | 'all';
/**
* Precision of geo search (in meters), to add grouping by geo location to the ranking formula.
*/
readonly aroundPrecision?: number | ReadonlyArray<{
readonly from: number;
readonly value: number;
}>;
/**
* Minimum radius (in meters) used for a geo search when aroundRadius is not set.
*/
readonly minimumAroundRadius?: number;
/**
* Search inside a rectangular area (in geo coordinates).
*/
readonly insideBoundingBox?: ReadonlyArray<readonly number[]> | string;
/**
* Search inside a polygon (in geo coordinates).
*/
readonly insidePolygon?: ReadonlyArray<readonly number[]>;
/**
* Treats singular, plurals, and other forms of declensions as matching terms.
*/
readonly ignorePlurals?: boolean | readonly string[];
/**
* Removes stop (common) words from the query before executing it.
*/
readonly removeStopWords?: boolean | readonly string[];
/**
* List of supported languages with their associated language ISO code.
*
* Apply a set of natural language best practices such as ignorePlurals,
* removeStopWords, removeWordsIfNoResults, analyticsTags and ruleContexts.
*/
readonly naturalLanguages?: readonly string[];
/**
* When true, each hit in the response contains an additional _rankingInfo object.
*/
readonly getRankingInfo?: boolean;
/**
* A user identifier.
* Format: alpha numeric string [a-zA-Z0-9_-]
* Length: between 1 and 64 characters.
*/
readonly userToken?: string;
/**
* Can be to enable or disable A/B tests at query time.
* Engine's default: true
*/
readonly enableABTest?: boolean;
/**
* Enable word segmentation (also called decompounding) at query time for
* compatible languages. For example, this turns the Dutch query
* "spaanplaatbehang" into "spaan plaat behang" to retrieve more relevant
* results.
*/
readonly decompoundQuery?: boolean;
/**
* The relevancy threshold to apply to search in a virtual index [0-100]. A Bigger
* value means fewer, but more relevant results, smaller value means more, but
* less relevant results.
*/
readonly relevancyStrictness?: number;
/**
* Whether this search should use Dynamic Re-Ranking.
* @link https://www.algolia.com/doc/guides/algolia-ai/re-ranking/
*
* Note: You need to turn on Dynamic Re-Ranking on your index for it to have an effect on
* your search results. You can do this through the Re-Ranking page on the dashboard.
* This parameter is only used to turn off Dynamic Re-Ranking (with false) at search time.
*/
readonly enableReRanking?: boolean;
/**
* When Dynamic Re-Ranking is enabled, only records that match these filters will be impacted by Dynamic Re-Ranking.
*/
readonly reRankingApplyFilter?: string | readonly string[] | ReadonlyArray<readonly string[] | string> | null;
/**
* Sets the languages to be used by language-specific settings and functionalities such as ignorePlurals, removeStopWords, and CJK word-detection.
*/
readonly queryLanguages?: readonly string[];
/**
* Enriches the APIs response with meta-information as to how the query was processed.
*/
readonly explain?: readonly string[];
};
export declare type SearchResponse<TObject = {}> = {
/**
* The hits returned by the search.
*
* Hits are ordered according to the ranking or sorting of the index being queried.
*/
hits: Array<Hit<TObject>>;
/**
* Index of the current page (zero-based).
*/
page: number;
/**
* Number of hits returned (used only with offset)
*/
length?: number;
/**
* The offset of the first hit to returned.
*/
offset?: number;
/**
* Number of hits matched by the query.
*/
nbHits: number;
/**
* Subset of hits selected when relevancyStrictness is applied.
*/
nbSortedHits?: number;
/**
* Number of pages returned.
*
* Calculation is based on the total number of hits (nbHits) divided by the
* number of hits per page (hitsPerPage), rounded up to the nearest integer.
*/
nbPages: number;
/**
* Maximum number of hits returned per page.
*/
hitsPerPage: number;
/**
* Time the server took to process the request, in milliseconds. This does not include network time.
*/
processingTimeMS: number;
/**
* Whether the nbHits is exhaustive (true) or approximate (false).
*
* An approximation is done when the query takes more than 50ms to be
* processed (this can happen when using complex filters on millions on records).
*/
exhaustiveNbHits: boolean;
/**
* Whether the facet count is exhaustive (true) or approximate (false).
*/
exhaustiveFacetsCount?: boolean;
/**
* A mapping of each facet name to the corresponding facet counts.
*/
facets?: Record<string, Record<string, number>>;
/**
* Statistics for numerical facets.
*/
facets_stats?: Record<string, {
/**
* The minimum value in the result set.
*/
min: number;
/**
* The maximum value in the result set.
*/
max: number;
/**
* The average facet value in the result set.
*/
avg: number;
/**
* The sum of all values in the result set.
*/
sum: number;
}>;
/**
* The query used to search. Accepts every character, and every character entered will be used in the search.
*
* An empty query can be used to fetch all records.
*/
query: string;
/**
* A markup text indicating which parts of the original query have been removed in order to retrieve a non-empty result set.
*/
queryAfterRemoval?: string;
/**
* A url-encoded string of all search parameters.
*/
params: string;
/**
* Unique identifier of the search query, to be sent in Insights methods. This identifier links events back to the search query it represents.
*
* Returned only if clickAnalytics is true.
*/
queryID?: string;
/**
* Used to return warnings about the query.
*/
message?: string;
/**
* The computed geo location.
*
* Format: "lat,lng", where the latitude and longitude are expressed as decimal floating point number.
*/
aroundLatLng?: string;
/**
* The automatically computed radius.
*/
automaticRadius?: string;
/**
* Actual host name of the server that processed the request.
*
* Our DNS supports automatic failover and load balancing, so this may differ from the host name used in the request.
*/
serverUsed?: string;
/**
* Index name used for the query.
*/
index?: string;
/**
* Index name used for the query. In case of AB test, the index targetted isnt always the index used by the query.
*/
indexUsed?: string;
/**
* If a search encounters an index that is being A/B tested, abTestID reports the ongoing A/B test ID.
*/
abTestID?: number;
/**
* In case of AB test, reports the variant ID used. The variant ID is the position in the array of variants (starting at 1).
*/
abTestVariantID?: number;
/**
* The query string that will be searched, after normalization.
*/
parsedQuery?: string;
/**
* Custom user data.
*/
userData?: any;
/**
* Rules applied to the query.
*/
appliedRules?: Array<Record<string, any>>;
/**
* The explanation of the decompounding at query time.
*/
explain?: {
/**
* The explain query match.
*/
match: {
/**
* The explain query match alternatives.
*/
alternatives: Array<{
/**
* The alternative type.
*/
types: string[];
/**
* The list of alternative words.
*/
words: string[];
/**
* The number of typos.
*/
typos: number;
/**
* The offset.
*/
offset: number;
/**
* The length.
*/
length: number;
}>;
};
/**
* Query parameter reporting. Parameters are reported
* as a JSON object with one field per parameter.
*/
params?: Record<string, any>;
/**
* This parameter is for internal use only.
*/
redirect?: {
index?: RedirectRuleIndexMetadata[];
};
};
/**
* The relevancy threshold applied to search in a virtual index.
*/
appliedRelevancyStrictness?: number;
renderingContent?: Settings['renderingContent'];
};
export declare const searchRules: (base: SearchIndex) => (query: string, requestOptions?: (RequestOptions & SearchRulesOptions) | undefined) => Readonly<Promise<SearchResponse<Rule>>>;
export declare type SearchRulesOptions = {
/**
* Full text query.
*/
readonly query?: string;
/**
* When specified, restricts matches to rules with a specific anchoring type. When omitted, all anchoring types may match.
*/
readonly anchoring?: string;
/**
* Restricts matches to contextual rules with a specific context (exact match).
*/
readonly context?: string;
/**
* Requested page (zero-based).
*/
readonly page?: number;
/**
* Maximum number of hits in a page. Minimum is 1, maximum is 1000.
*/
readonly hitsPerPage?: number;
/**
* When specified, restricts matches to rules with a specific enabled status.
* When absent (default), all rules are retrieved, regardless of their enabled status.
*/
readonly enabled?: boolean;
};
export declare const searchSynonyms: (base: SearchIndex) => (query: string, requestOptions?: (SearchSynonymsOptions & RequestOptions) | undefined) => Readonly<Promise<SearchSynonymsResponse>>;
export declare type SearchSynonymsOptions = {
/**
* The synonym type.
*/
readonly type?: string;
/**
* Page to retrieve.
*/
readonly page?: number;
/**
* Number of hits per page.
*/
readonly hitsPerPage?: number;
};
export declare type SearchSynonymsResponse = {
/**
* The list of synonyms.
*/
hits: Synonym[];
/**
* The number of synonyms on the list.
*/
nbHits: number;
};
export declare const searchUserIDs: (base: SearchClient) => (query: string, requestOptions?: (SearchUserIDsOptions & RequestOptions) | undefined) => Readonly<Promise<SearchUserIDsResponse>>;
export declare type SearchUserIDsOptions = {
/**
* If specified, only clusters assigned to this cluster can be returned.
* */
readonly cluster?: string;
/**
* Page to fetch.
*/
readonly page?: number;
/**
* Number of users to return by page.
*/
readonly hitsPerPage?: number;
};
export declare type SearchUserIDsResponse = {
/**
* List of userID matching the query.
*/
hits: UserIDResponse[];
/**
* Current page.
*/
page: number;
/**
* Number of userIDs matching the query.
*/
nbHits: number;
/**
* Number of hits retrieved per page.
*/
hitsPerPage: number;
/**
* Timestamp of the last update of the index.
*/
updatedAt: number;
};
export declare type SecuredApiKeyRestrictions = SearchOptions & {
/**
* A Unix timestamp used to define the expiration date of the API key.
*/
readonly validUntil?: number;
/**
* List of index names that can be queried.
*/
readonly restrictIndices?: readonly string[] | string;
/**
* IPv4 network allowed to use the generated key. This is used for more protection against API key leaking and reuse.
*/
readonly restrictSources?: string;
/**
* Specify a user identifier. This is often used with rate limits.
*/
readonly userToken?: string;
};
export declare const setDictionarySettings: (base: SearchClient) => (settings: DictionarySettings, requestOptions?: RequestOptions | undefined) => Readonly<WaitablePromise<DictionaryEntriesResponse>>;
export declare const setSettings: (base: SearchIndex) => (settings: Settings, requestOptions?: (RequestOptions & SetSettingsOptions) | undefined) => Readonly<WaitablePromise<SetSettingsResponse>>;
export declare type SetSettingsOptions = {
/**
* If the saved settings should be forward to replicas.
*/
readonly forwardToReplicas?: boolean;
};
export declare type SetSettingsResponse = {
/**
* The operation task id. May be used to perform a wait task.
*/
taskID: number;
/**
* When the settings got updated.
*/
updatedAt: number;
};
export declare type Settings = {
/**
* The complete list of attributes that will be used for searching.
*/
readonly searchableAttributes?: readonly string[];
/**
* @deprecated Use `searchableAttributes` instead.
*/
readonly attributesToIndex?: readonly string[];
/**
* The complete list of attributes that will be used for faceting.
*/
readonly attributesForFaceting?: readonly string[];
/**
* List of attributes that cannot be retrieved at query time.
*/
readonly unretrievableAttributes?: readonly string[];
/**
* Gives control over which attributes to retrieve and which not to retrieve.
*/
readonly attributesToRetrieve?: readonly string[];
/**
* Controls the way results are sorted.
*/
readonly ranking?: readonly string[];
/**
* Specifies the custom ranking criterion.
*/
readonly customRanking?: readonly string[];
/**
* Creates replicas, exact copies of an index.
*/
readonly replicas?: readonly string[];
/**
* @deprecated Use `replicas` instead.
*/
readonly slaves?: readonly string[];
/**
* The primary parameter is automatically added to a replica's settings when the replica is created and cannot be modified.
*
* Can not be setted.
*/
readonly primary?: string;
/**
* Maximum number of facet values to return for each facet during a regular search.
*/
readonly maxValuesPerFacet?: number;
/**
* Controls how facet values are sorted.
*/
readonly sortFacetValuesBy?: 'count' | 'alpha';
/**
* List of attributes to highlight.
*/
readonly attributesToHighlight?: readonly string[];
/**
* List of attributes to snippet, with an optional maximum number of words to snippet.
*/
readonly attributesToSnippet?: readonly string[];
/**
* The HTML string to insert before the highlighted parts in all highlight and snippet results.
*/
readonly highlightPreTag?: string;
/**
* The HTML string to insert after the highlighted parts in all highlight and snippet results.
*/
readonly highlightPostTag?: string;
/**
* String used as an ellipsis indicator when a snippet is truncated.
*/
readonly snippetEllipsisText?: string;
/**
* Restrict highlighting and snippeting to items that matched the query.
*/
readonly restrictHighlightAndSnippetArrays?: boolean;
/**
* Set the number of hits per page.
*/
readonly hitsPerPage?: number;
/**
* Set the maximum number of hits accessible via pagination.
*/
readonly paginationLimitedTo?: number;
/**
* Minimum number of characters a word in the query string must contain to accept matches with 1 typo.
*/
readonly minWordSizefor1Typo?: number;
/**
* Minimum number of characters a word in the query string must contain to accept matches with 2 typos.
*/
readonly minWordSizefor2Typos?: number;
/**
* Controls whether typo tolerance is enabled and how it is applied.
*/
readonly typoTolerance?: string | boolean;
/**
* hether to allow typos on numbers (numeric tokens) in the query string.
*/
readonly allowTyposOnNumericTokens?: boolean;
/**
* List of attributes on which you want to disable typo tolerance.
*/
readonly disableTypoToleranceOnAttributes?: readonly string[];
/**
* List of words on which you want to disable typo tolerance.
*/
readonly disableTypoToleranceOnWords?: readonly string[];
/**
* Control which separators are indexed.
*/
readonly separatorsToIndex?: string;
/**
* Treats singular, plurals, and other forms of declensions as matching terms.
*/
readonly ignorePlurals?: readonly string[] | boolean;
/**
* Sets the languages to be used by language-specific settings and functionalities such as ignorePlurals, removeStopWords, and CJK word-detection.
*/
readonly queryLanguages?: readonly string[];
/**
* A list of language ISO code.
*/
readonly indexLanguages?: readonly string[];
/**
* Whether rules should be globally enabled.
*/
readonly enableRules?: boolean;
/**
* Controls if and how query words are interpreted as prefixes.
*/
readonly queryType?: 'prefixLast' | 'prefixAll' | 'prefixNone';
/**
* Selects a strategy to remove words from the query when it doesnt match any hits.
*/
readonly removeWordsIfNoResults?: 'none' | 'lastWords' | 'firstWords' | 'allOptional';
/**
* Enables the advanced query syntax.
*/
readonly advancedSyntax?: boolean;
/**
* AdvancedSyntaxFeatures can be exactPhrase or excludeWords
*/
readonly advancedSyntaxFeatures?: ReadonlyArray<'exactPhrase' | 'excludeWords'>;
/**
* A list of words that should be considered as optional when found in the query.
*/
readonly optionalWords?: readonly string[];
/**
* List of attributes on which you want to disable prefix matching.
*/
readonly disablePrefixOnAttributes?: readonly string[];
/**
* List of attributes on which you want to disable the exact ranking criterion.
*/
readonly disableExactOnAttributes?: readonly string[];
/**
* Controls how the exact ranking criterion is computed when the query contains only one word.
*/
readonly exactOnSingleWordQuery?: 'attribute' | 'none' | 'word';
/**
* List of alternatives that should be considered an exact match by the exact ranking criterion.
*/
readonly alternativesAsExact?: ReadonlyArray<'ignorePlurals' | 'singleWordSynonym' | 'multiWordsSynonym'>;
/**
* Removes stop (common) words from the query before executing it.
*/
readonly removeStopWords?: boolean | readonly string[];
/**
* List of numeric attributes that can be used as numerical filters.
*/
readonly numericAttributesForFiltering?: readonly string[];
/**
* Enables compression of large integer arrays.
*/
readonly allowCompressionOfIntegerArray?: boolean;
/**
* Name of the de-duplication attribute to be used with the distinct feature.
*/
readonly attributeForDistinct?: string;
/**
* Enables de-duplication or grouping of results.
*/
readonly distinct?: boolean | number;
/**
* Whether to highlight and snippet the original word that matches the synonym or the synonym itself.
*/
readonly replaceSynonymsInHighlight?: boolean;
/**
* Allows proximity to impact which searchable attribute is matched in the attribute ranking stage.
*/
readonly attributeCriteriaComputedByMinProximity?: boolean;
/**
* Precision of the proximity ranking criterion.
*/
readonly minProximity?: number;
/**
* Choose which fields the response will contain. Applies to search and browse queries.
*/
readonly responseFields?: readonly string[];
/**
* Maximum number of facet hits to return during a search for facet values.
*/
readonly maxFacetHits?: number;
/**
* List of attributes on which to do a decomposition of camel case words.
*/
readonly camelCaseAttributes?: readonly string[];
/**
* Specify on which attributes in your index Algolia should apply word-splitting (decompounding)
*/
readonly decompoundedAttributes?: Readonly<Record<string, readonly string[]>>;
/**
* Characters that should not be automatically normalized by the search engine.
*/
readonly keepDiacriticsOnCharacters?: string;
/**
* Overrides Algolia's default normalization.
*/
readonly customNormalization?: Readonly<Record<string, Readonly<Record<string, string>>>>;
/**
* Enable personalization for queries by default
*/
readonly enablePersonalization?: boolean;
/**
* Custom userData that could be added to the Settings.
*/
readonly userData?: any;
/**
* Enable word segmentation (also called decompounding) at query time for
* compatible languages. For example, this turns the Dutch query
* "spaanplaatbehang" into "spaan plaat behang" to retrieve more relevant
* results.
*/
readonly decompoundQuery?: boolean;
/**
* Specify on which attributes in your index Algolia should apply Japanese
* transliteration to make words indexed in Katakana or Kanji searchable in Hiragana.
*/
readonly attributesToTransliterate?: readonly string[];
/**
* The relevancy threshold to apply to search in a virtual index [0-100]. A Bigger
* value means fewer, but more relevant results, smaller value means more, but
* less relevant results.
*/
readonly relevancyStrictness?: number;
/**
* The search mode that the index will use to query for results.
*/
readonly mode?: 'neuralSearch' | 'keywordSearch';
/**
* The settings relevant for configuration of the semantic search engine.
* These settings are only used when the mode is set to 'neuralSearch'.
*/
readonly semanticSearch?: {
/**
* When null, the current index / replica group will be used as the event source.
*/
readonly eventSources?: readonly string[] | null;
};
/**
* Content defining how the search interface should be rendered.
* This is set via the settings for a default value and can be overridden via rules
*/
readonly renderingContent?: {
/**
* defining how facets should be ordered
*/
readonly facetOrdering?: {
/**
* the ordering of facets (widgets)
*/
readonly facets?: {
/**
* pinned order of facet lists
*/
readonly order?: readonly string[];
};
/**
* the ordering of facet values, within an individual list
*/
readonly values?: {
readonly [facet: string]: {
/**
* pinned order of facet values
*/
readonly order?: readonly string[];
/**
* How to display the remaining items.
* - facet count (descending)
* - alphabetical (ascending)
* - hidden (show only pinned values)
*/
readonly sortRemainingBy?: 'count' | 'alpha' | 'hidden';
};
};
};
};
/**
* Whether this index should use Dynamic Re-Ranking.
* @link https://www.algolia.com/doc/guides/algolia-ai/re-ranking/
*
* Note: You need to turn on Dynamic Re-Ranking on your index for it to have an effect on
* your search results. You can do this through the Re-Ranking page on the dashboard.
*/
readonly enableReRanking?: boolean;
/**
* When Dynamic Re-Ranking is enabled, only records that match these filters will be impacted by Dynamic Re-Ranking.
*/
readonly reRankingApplyFilter?: string | readonly string[] | ReadonlyArray<readonly string[] | string> | null;
};
declare type SharedMultipleQueriesQuery = {
/**
* The type of query to perform.
*
* @defaultValue "default"
*/
readonly type?: 'default' | 'facet';
/**
* The index name.
*/
readonly indexName: string;
/**
* The search options.
*/
readonly params?: SearchOptions;
/**
* The query associated with the request.
*/
readonly query?: string;
};
declare type SnippetMatch = {
readonly value: string;
readonly matchLevel: 'none' | 'partial' | 'full';
};
export declare type SnippetResult<THit> = THit extends string | number ? SnippetMatch : {
[KAttribute in keyof THit]: SnippetResult<THit[KAttribute]>;
};
export declare const StrategyEnum: Readonly<Record<string, StrategyType>>;
export declare type StrategyType = 'none' | 'stopIfEnoughMatches';
export declare type Synonym = {
/**
* Synonym object ID.
*/
readonly objectID: string;
/**
* There are 4 synonym types. The parameter can be one of the following value.
*/
readonly type: SynonymType;
/**
* A list of synonyms.
*/
readonly synonyms?: readonly string[];
/**
* Defines the synonym. A word or expression, used as the basis for the array of synonyms.
*/
readonly input?: string;
/**
* A single word, used as the basis for the below array of corrections.
*/
readonly word?: string;
/**
* An list of corrections of the word.
*/
readonly corrections?: readonly string[];
/**
* A single word, used as the basis for the below list of replacements.
*/
readonly placeholder?: string;
/**
* An list of replacements of the placeholder.
*/
readonly replacements?: readonly string[];
};
export declare const SynonymEnum: Readonly<Record<string, SynonymType>>;
export declare type SynonymType = 'synonym' | 'oneWaySynonym' | 'altCorrection1' | 'altCorrection2' | 'placeholder';
export declare type TaskStatusResponse = {
/**
* The operation status. When the value is `published` the
* operation is completed.
*/
status: string;
/**
* If the operation is pending.
*/
pendingTask: boolean;
};
export declare type TimeRange = {
/**
* DateTime with UTC offset for Serialization/Deserialization in unix timespan.
*/
readonly from: number;
/**
* DateTime with UTC offset for Serialization/Deserialization in unix timespan.
*/
readonly until: number;
};
export declare const updateApiKey: (base: SearchClient) => (apiKey: string, requestOptions?: (UpdateApiKeyOptions & Pick<RequestOptions, string | number>) | undefined) => Readonly<WaitablePromise<UpdateApiKeyResponse>>;
export declare type UpdateApiKeyOptions = {
/**
* List of permissions the key contains.
*/
readonly acl?: readonly ApiKeyACLType[];
/**
* A Unix timestamp used to define the expiration date of the API key.
*/
readonly validity?: number;
/**
* Specify the maximum number of hits this API key can retrieve in one call.
* This parameter can be used to protect you from attempts at retrieving your entire index contents by massively querying the index.
*/
readonly maxHitsPerQuery?: number;
/**
* Specify the maximum number of API calls allowed from an IP address per hour. Each time an API call is performed with this key, a check is performed.
*/
readonly maxQueriesPerIPPerHour?: number;
/**
* Specify the list of targeted indices. You can target all indices starting with a prefix or ending with a suffix using the * character.
*/
readonly indexes?: readonly string[];
/**
* Specify the list of referers. You can target all referers starting with a prefix, ending with a suffix using the * character.
*/
readonly referers?: readonly string[];
/**
* Specify the list of query parameters. You can force the query parameters for a query using the url string format.
*/
readonly queryParameters?: string;
/**
* Specify a description of the API key. Used for informative purposes only. It has impact on the functionality of the API key.
*/
readonly description?: string;
};
export declare type UpdateApiKeyResponse = {
/**
* The api key.
*/
key: string;
/**
* Date of update
*/
updatedAt: string;
};
export declare type UserIDResponse = {
/**
* userID of the user.
*/
userID: string;
/**
* Cluster on which the user is assigned
*/
clusterName: string;
/**
* Number of records belonging to the user.
*/
nbRecords: number;
/**
* Data size used by the user.
*/
dataSize: number;
};
export declare const waitAppTask: (base: SearchClient) => (taskID: number, requestOptions?: RequestOptions | undefined) => Readonly<Promise<void>>;
export declare const waitTask: (base: SearchIndex) => (taskID: number, requestOptions?: RequestOptions | undefined) => Readonly<Promise<void>>;
export { }