import { Client } from '@opensearch-project/opensearch';
import { DataApiClientModule } from '../DataApiClientModule';
import { ApiClient } from './ApiClient';
import ClientConfig = DataApiClientModule.ClientConfig;
type ModelFormat = 'TORCH_SCRIPT' | 'ONNX';
export declare class OpensearchClient implements ApiClient {
    private readonly _client;
    private _payload;
    constructor(config: ClientConfig);
    getClient(): Client;
    private static initClient;
    private static getOptions;
    load(payload: any): Promise<undefined>;
    createIndex(index: string, workingDir: string, settingsPath: string, mappingsPath: string, alias: string, modelName?: string): Promise<unknown>;
    upsertIndexAlias(aliasName: string, newIndexName: string, oldIndexName?: string): Promise<unknown>;
    updateIndex(index: string, workingDir: string, mappingsPath: string, modelName?: string): Promise<unknown>;
    deleteIndex(index: string): Promise<unknown>;
    putScript(id: string, script: {
        lang?: string;
        source: string;
        params?: Record<string, unknown>;
    }): Promise<unknown>;
    deleteScript(id: string): Promise<unknown>;
    reindexData(sourceIndex: string, destinationIndex: string): Promise<unknown>;
    migratePretrainedModel(params: {
        groupName: string;
        groupDescription?: string;
        modelName: string;
        version: string;
        modelFormat: ModelFormat;
        waitForModelIdMs?: number;
        pollIntervalMs?: number;
        deployTimeoutMs?: number;
        deployPollIntervalMs?: number;
    }): Promise<{
        model_group_id: string;
        model_id: string;
    }>;
    private _ensureModelByNameAndFormat;
    private _waitForModelRegistration;
    private _waitForDeployment;
    private _mappingsPayload;
    private _getModelState;
    private _isDeployedState;
    private _deployModel;
    private _waitUntilDeployed;
    private _injectModelIdIntoSemanticProperties;
    private _mappingsNeedModelId;
    private _searchModelIdByName;
    private _resolveDeployedModelIdByName;
    private _ensureModelGroup;
    private _registerPretrainedModel;
    private _pluginRequest;
    private _throwWithServerReason;
}
export {};
