import { Index } from "../indexes"; import { KeyCreation, Config, IndexOptions, IndexObject, Key, Health, Stats, Version, TokenSearchRules, TokenOptions, TasksQuery, WaitOptions, KeyUpdate, IndexesQuery, IndexesResults, KeysQuery, KeysResults, TasksResults, SwapIndexesParams, CancelTasksQuery, DeleteTasksQuery, MultiSearchParams, MultiSearchResponse, SearchResponse, FederatedMultiSearchParams } from "../types"; import { HttpRequests } from "../http-requests"; import { TaskClient, Task } from "../task"; import { EnqueuedTask } from "../enqueued-task"; declare class Client { config: Config; httpRequest: HttpRequests; tasks: TaskClient; /** * Creates new MeiliSearch instance * * @param config - Configuration object */ constructor(config: Config); /** * Return an Index instance * * @param indexUid - The index UID * @returns Instance of Index */ index = Record>(indexUid: string): Index; /** * Gather information about an index by calling MeiliSearch and return an * Index instance with the gathered information * * @param indexUid - The index UID * @returns Promise returning Index instance */ getIndex = Record>(indexUid: string): Promise>; /** * Gather information about an index by calling MeiliSearch and return the raw * JSON response * * @param indexUid - The index UID * @returns Promise returning index information */ getRawIndex(indexUid: string): Promise; /** * Get all the indexes as Index instances. * * @param parameters - Parameters to browse the indexes * @returns Promise returning array of raw index information */ getIndexes(parameters?: IndexesQuery): Promise>; /** * Get all the indexes in their raw value (no Index instances). * * @param parameters - Parameters to browse the indexes * @returns Promise returning array of raw index information */ getRawIndexes(parameters?: IndexesQuery): Promise>; /** * Create a new index * * @param uid - The index UID * @param options - Index options * @returns Promise returning Index instance */ createIndex(uid: string, options?: IndexOptions): Promise; /** * Update an index * * @param uid - The index UID * @param options - Index options to update * @returns Promise returning Index instance after updating */ updateIndex(uid: string, options?: IndexOptions): Promise; /** * Delete an index * * @param uid - The index UID * @returns Promise which resolves when index is deleted successfully */ deleteIndex(uid: string): Promise; /** * Deletes an index if it already exists. * * @param uid - The index UID * @returns Promise which resolves to true when index exists and is deleted * successfully, otherwise false if it does not exist */ deleteIndexIfExists(uid: string): Promise; /** * Swaps a list of index tuples. * * @param params - List of indexes tuples to swap. * @returns Promise returning object of the enqueued task */ swapIndexes(params: SwapIndexesParams): Promise; /** * Perform multiple search queries. * * It is possible to make multiple search queries on the same index or on * different ones * * @example * * ```ts * client.multiSearch({ * queries: [ * { indexUid: "movies", q: "wonder" }, * { indexUid: "books", q: "flower" }, * ], * }); * ``` * * @param queries - Search queries * @param config - Additional request configuration options * @returns Promise containing the search responses */ multiSearch = Record>(queries: MultiSearchParams, config?: Partial): Promise>; multiSearch = Record>(queries: FederatedMultiSearchParams, config?: Partial): Promise>; /** * Get the list of all client tasks * * @param parameters - Parameters to browse the tasks * @returns Promise returning all tasks */ getTasks(parameters?: TasksQuery): Promise; /** * Get one task on the client scope * * @param taskUid - Task identifier * @returns Promise returning a task */ getTask(taskUid: number): Promise; /** * Wait for multiple tasks to be finished. * * @param taskUids - Tasks identifier * @param waitOptions - Options on timeout and interval * @returns Promise returning an array of tasks */ waitForTasks(taskUids: number[], { timeOutMs, intervalMs }?: WaitOptions): Promise; /** * Wait for a task to be finished. * * @param taskUid - Task identifier * @param waitOptions - Options on timeout and interval * @returns Promise returning an array of tasks */ waitForTask(taskUid: number, { timeOutMs, intervalMs }?: WaitOptions): Promise; /** * Cancel a list of enqueued or processing tasks. * * @param parameters - Parameters to filter the tasks. * @returns Promise containing an EnqueuedTask */ cancelTasks(parameters: CancelTasksQuery): Promise; /** * Delete a list of tasks. * * @param parameters - Parameters to filter the tasks. * @returns Promise containing an EnqueuedTask */ deleteTasks(parameters?: DeleteTasksQuery): Promise; /** * Get all API keys * * @param parameters - Parameters to browse the indexes * @returns Promise returning an object with keys */ getKeys(parameters?: KeysQuery): Promise; /** * Get one API key * * @param keyOrUid - Key or uid of the API key * @returns Promise returning a key */ getKey(keyOrUid: string): Promise; /** * Create one API key * * @param options - Key options * @returns Promise returning a key */ createKey(options: KeyCreation): Promise; /** * Update one API key * * @param keyOrUid - Key * @param options - Key options * @returns Promise returning a key */ updateKey(keyOrUid: string, options: KeyUpdate): Promise; /** * Delete one API key * * @param keyOrUid - Key * @returns */ deleteKey(keyOrUid: string): Promise; /** * Checks if the server is healthy, otherwise an error will be thrown. * * @returns Promise returning an object with health details */ health(): Promise; /** * Checks if the server is healthy, return true or false. * * @returns Promise returning a boolean */ isHealthy(): Promise; /** * Get the stats of all the database * * @returns Promise returning object of all the stats */ getStats(): Promise; /** * Get the version of MeiliSearch * * @returns Promise returning object with version details */ getVersion(): Promise; /** * Creates a dump * * @returns Promise returning object of the enqueued task */ createDump(): Promise; /** * Creates a snapshot * * @returns Promise returning object of the enqueued task */ createSnapshot(): Promise; /** * Generate a tenant token * * @param apiKeyUid - The uid of the api key used as issuer of the token. * @param searchRules - Search rules that are applied to every search. * @param options - Token options to customize some aspect of the token. * @returns The token in JWT format. */ generateTenantToken(_apiKeyUid: string, _searchRules: TokenSearchRules, _options?: TokenOptions): Promise; } export { Client }; //# sourceMappingURL=client.d.ts.map