import { SearchTypes } from '@medusajs/types';
import { SearchUtils } from '@medusajs/utils';
import { MeiliSearch } from 'meilisearch';
import { MeilisearchPluginOptions } from '../types';
export declare class MeiliSearchService extends SearchUtils.AbstractSearchService {
    static identifier: string;
    isDefault: boolean;
    protected readonly config_: MeilisearchPluginOptions;
    protected readonly client_: MeiliSearch;
    constructor(container: any, options: MeilisearchPluginOptions);
    protected getLanguageIndexKey(baseKey: string, language?: string): string;
    getFieldsForType(type: string): Promise<string[]>;
    getIndexesByType(type: string): Promise<string[]>;
    createIndex(indexKey: string, options?: Record<string, unknown>): Promise<import("meilisearch").EnqueuedTask>;
    getIndex(indexKey: string): import("meilisearch").Index<import("meilisearch").RecordAny>;
    addDocuments(indexKey: string, documents: any[], language?: string): Promise<import("meilisearch").EnqueuedTask>;
    replaceDocuments(indexKey: string, documents: any[], language?: string): Promise<import("meilisearch").EnqueuedTask>;
    deleteDocument(indexKey: string, documentId: string, language?: string): Promise<import("meilisearch").EnqueuedTask>;
    deleteDocuments(indexKey: string, documentIds: string[], language?: string): Promise<import("meilisearch").EnqueuedTask>;
    deleteAllDocuments(indexKey: string, language?: string): Promise<import("meilisearch").EnqueuedTask>;
    search(indexKey: string, query: string, options: Record<string, any> & {
        language?: string;
    }): Promise<import("meilisearch").SearchResponse<import("meilisearch").RecordAny, any>>;
    updateSettings(indexKey: string, settings: Pick<SearchTypes.IndexSettings, 'indexSettings' | 'primaryKey'>): Promise<import("meilisearch").EnqueuedTask | import("meilisearch").EnqueuedTask[] | undefined>;
    upsertIndex(indexKey: string, settings: Pick<SearchTypes.IndexSettings, 'primaryKey'>): Promise<void>;
    private getTransformedDocuments;
}
//# sourceMappingURL=meilisearch.d.ts.map