import { CloudConnectionPool, Diagnostic } from '@elastic/transport';
import EnterpriseSearchClient from './EnterpriseSearchClient';
import AppSearchClient from './AppSearchClient';
import WorkplaceSearchClient from './WorkplaceSearchClient';
import { ClientOptions, InternalOptions, AuthOptions } from './utils';
import { kOptions, kConnectionPool, kEnterpriseSearch, kAppSearch, kWorkplaceSearch } from './symbols';
export default class Client {
    [kOptions]: ClientOptions;
    [kConnectionPool]: CloudConnectionPool;
    [kEnterpriseSearch]: EnterpriseSearchClient | null;
    [kAppSearch]: AppSearchClient | null;
    [kWorkplaceSearch]: WorkplaceSearchClient | null;
    diagnostic: Diagnostic;
    constructor(opts: ClientOptions, internal?: InternalOptions);
    get enterprise(): EnterpriseSearchClient;
    get app(): AppSearchClient;
    get workplace(): WorkplaceSearchClient;
    withAuth(opts: AuthOptions): Client;
    close(): Promise<void>;
}
