/// <reference types="elasticsearch" />
import * as elasticsearch from 'elasticsearch';
export interface ElasticsearchClientConfigObject {
    hosts?: any;
    apiVersion?: string;
}
export declare class ElasticsearchClient {
    static startMethod: string;
    static stopMethod: string;
    name: string;
    configuration: ElasticsearchClientConfigObject;
    private connection;
    constructor(name: string, config: ElasticsearchClientConfigObject);
    initialise(): void;
    getClientConfiguration(): ElasticsearchClientConfigObject;
    ping(params?: object): Promise<any>;
    indices(): elasticsearch.Indices;
    cat(): elasticsearch.Cat;
    bulk(params: object): Promise<any>;
    clearScroll(params: Elasticsearch.ClearScrollParams): Promise<any>;
    count(params: Elasticsearch.CountParams): Promise<Elasticsearch.CountResponse>;
    create(params: Elasticsearch.CreateDocumentParams, callback: (err: any, response: Elasticsearch.CreateDocumentResponse, status: any) => void): void;
    delete(params: Elasticsearch.DeleteDocumentParams, callback: (error: any, response: Elasticsearch.DeleteDocumentResponse) => void): void;
    deleteByQuery(params: Elasticsearch.DeleteDocumentByQueryParams, callback: (error: any, response: Elasticsearch.DeleteDocumentByQueryResponse) => void): void;
    deleteScript(params: Elasticsearch.DeleteScriptParams, callback: (error: any, response: any) => void): void;
    deleteTemplate(params: Elasticsearch.DeleteTemplateParams, callback: (error: any, response: any) => void): void;
    exists(params: Elasticsearch.ExistsParams, callback: (error: any, response: any, status?: any) => void): void;
    explain(params: Elasticsearch.ExplainParams, callback: (error: any, response: Elasticsearch.ExplainResponse) => void): void;
    fieldStats(params: Elasticsearch.FieldStatsParams, callback: (error: any, response: Elasticsearch.FieldStatsResponse) => void): void;
    get<T>(params: Elasticsearch.GetParams): Promise<Elasticsearch.GetResponse<T>>;
    getScript(params: Elasticsearch.GetScriptParams, callback: (error: any, response: any) => void): void;
    getSource(params: Elasticsearch.GetSourceParams, callback: (error: any, response: any) => void): void;
    getTemplate(params: Elasticsearch.GetTemplateParams, callback: (error: any, response: any) => void): void;
    index<T>(params: Elasticsearch.IndexDocumentParams<T>, callback: (error: any, response: any) => void): void;
    info(params: Elasticsearch.InfoParams, callback: (error: any, response: any) => void): void;
    mget<T>(params: Elasticsearch.MGetParams): Promise<Elasticsearch.MGetResponse<T>>;
    msearch<T>(params: Elasticsearch.MSearchParams): Promise<Elasticsearch.MSearchResponse<T>>;
    msearchTemplate<T>(params: Elasticsearch.MSearchTemplateParams): Promise<Elasticsearch.MSearchResponse<T>>;
    mtermvectors(params: Elasticsearch.MTermVectorsParams, callback: (error: any, response: any) => void): void;
    putScript(params: Elasticsearch.PutScriptParams, callback: (err: any, response: any, status: any) => void): void;
    putTemplate(params: Elasticsearch.PutTemplateParams, callback: (err: any, response: any, status: any) => void): void;
    reindex(params: Elasticsearch.ReindexParams, callback: (error: any, response: Elasticsearch.ReindexResponse) => void): void;
    reindexRethrottle(params: Elasticsearch.ReindexRethrottleParams, callback: (error: any, response: any) => void): void;
    renderSearchTemplate(params: Elasticsearch.RenderSearchTemplateParams, callback: (error: any, response: any) => void): void;
    scroll<T>(params: Elasticsearch.ScrollParams, callback: (error: any, response: Elasticsearch.SearchResponse<T>) => void): void;
    search<T>(params: Elasticsearch.SearchParams, callback: (error: any, response: Elasticsearch.SearchResponse<T>) => void): void;
    searchShards(params: Elasticsearch.SearchShardsParams, callback: (error: any, response: Elasticsearch.SearchShardsResponse) => void): void;
    searchTemplate(params: Elasticsearch.SearchTemplateParams, callback: (error: any, response: any) => void): void;
    suggest(params: Elasticsearch.SuggestParams, callback: (error: any, response: any) => void): void;
    termvectors(params: Elasticsearch.TermvectorsParams, callback: (error: any, response: any) => void): void;
    update(params: Elasticsearch.UpdateDocumentParams, callback: (error: any, response: any) => void): void;
    updateByQuery(params: Elasticsearch.UpdateDocumentByQueryParams, callback: (error: any, response: any) => void): void;
    close(): void;
}
