import { AbstractClientService } from '@joktec/core';
import { HttpService } from '@joktec/http';
import { ElasticClient } from './elastic.client';
import { ElasticConfig } from './elastic.config';
import { EsDeleteRequest, EsGetRequest, EsGetResponse, EsIndexRequest, EsSearchRequest, EsSearchResponse, EsWriteResponse } from './models';
export declare class ElasticService extends AbstractClientService<ElasticConfig, HttpService> implements ElasticClient {
    private httpService;
    constructor();
    protected init(config: ElasticConfig): Promise<HttpService>;
    start(client: HttpService, conId?: string): Promise<void>;
    stop(client: HttpService, conId?: string): Promise<void>;
    search<TDoc = any, TAgg = any>(req: EsSearchRequest, conId?: string): Promise<EsSearchResponse<TDoc, TAgg>>;
    index<TDoc = any>(req: EsIndexRequest<TDoc>, conId?: string): Promise<EsWriteResponse>;
    get<TDoc = any>(req: EsGetRequest, conId?: string): Promise<EsGetResponse<TDoc>>;
    delete(req: EsDeleteRequest, conId?: string): Promise<EsWriteResponse>;
}
//# sourceMappingURL=elastic.service.d.ts.map