import type { Logger, ProductDTO, SearchTypes } from '@medusajs/types';
import { AbstractSearchService } from '@medusajs/utils';
import type { EnqueuedTask, Index, IndexOptions, MeiliSearch, SearchParams, SearchResponse } from 'meilisearch' with { 'resolution-mode': 'import' };
import type { Options, SearchOption } from '../types';
import type { IMeilisearchService } from '../types';
type InjectedDependencies = {
logger: Logger;
meilisearch_client: MeiliSearch;
};
export default class MeiliSearchService
= Required> extends AbstractSearchService implements IMeilisearchService {
static identifier: string;
static DISPLAY_NAME: string;
isDefault: boolean;
readonly defaultIndex: string;
protected readonly logger: Logger;
protected readonly client: MeiliSearch;
protected readonly settings: Options['settings'];
constructor(deps: InjectedDependencies, options: Options);
createIndex(indexName: string, options: O): Promise;
getIndex(indexName: string): Promise>;
addDocuments(indexName: string, documents: D[], type: string): Promise;
replaceDocuments(indexName: string, documents: D[], type: string): Promise;
deleteDocument(indexName: string, document_id: string | number): Promise;
deleteAllDocuments(indexName: string): Promise;
search(indexName: string, query: string | null, options: SearchOption): Promise>;
updateSettings(indexName: string, settings: SearchTypes.IndexSettings): Promise;
protected upsertIndex(indexName: string, settings: SearchTypes.IndexSettings): Promise;
protected getTransformedDocuments(type: string, documents: R[]): Promise;
}
export {};
//# sourceMappingURL=service.d.ts.map