Warp/node_modules/@algolia/client-search/dist/client-search.d.ts
2024-01-05 19:14:38 +07:00

2542 lines
84 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 { }