import { Request, OpenSearch as AWSOpenSearch } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSOpenSearch> = AWSOpenSearch[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSOpenSearch, Extras> = AWSOpenSearch[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class OpenSearch {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "es";
    readonly global: false;
    readonly category: "Analytics";
    readonly topLevelCalls: readonly ["describeInboundConnections", "describeOutboundConnections", "describePackages", "describeReservedInstanceOfferings", "describeReservedInstances", "listVersions"];
    acceptInboundConnection: (params: ParamsFrom<'acceptInboundConnection', Record<string, never>>) => Promise<ReturnTypeFrom<'acceptInboundConnection'>>;
    addTags: (params: ParamsFrom<'addTags', Record<string, never>>) => Promise<ReturnTypeFrom<'addTags'>>;
    associatePackage: (params: ParamsFrom<'associatePackage', Record<string, never>>) => Promise<ReturnTypeFrom<'associatePackage'>>;
    cancelServiceSoftwareUpdate: (params: ParamsFrom<'cancelServiceSoftwareUpdate', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelServiceSoftwareUpdate'>>;
    createDomain: (params: ParamsFrom<'createDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'createDomain'>>;
    createOutboundConnection: (params: ParamsFrom<'createOutboundConnection', Record<string, never>>) => Promise<ReturnTypeFrom<'createOutboundConnection'>>;
    createPackage: (params: ParamsFrom<'createPackage', Record<string, never>>) => Promise<ReturnTypeFrom<'createPackage'>>;
    deleteDomain: (params: ParamsFrom<'deleteDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDomain'>>;
    deleteInboundConnection: (params: ParamsFrom<'deleteInboundConnection', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInboundConnection'>>;
    deleteOutboundConnection: (params: ParamsFrom<'deleteOutboundConnection', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteOutboundConnection'>>;
    deletePackage: (params: ParamsFrom<'deletePackage', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePackage'>>;
    describeDomain: (params: ParamsFrom<'describeDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomain'>>;
    describeDomainAutoTunes: (params: ParamsFrom<'describeDomainAutoTunes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomainAutoTunes'>>;
    describeDomainChangeProgress: (params: ParamsFrom<'describeDomainChangeProgress', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomainChangeProgress'>>;
    describeDomainConfig: (params: ParamsFrom<'describeDomainConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomainConfig'>>;
    describeDomains: (params: ParamsFrom<'describeDomains', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomains'>>;
    describeInboundConnections: (params: ParamsFrom<'describeInboundConnections', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInboundConnections'>>;
    describeInstanceTypeLimits: (params: ParamsFrom<'describeInstanceTypeLimits', Record<string, never>>) => Promise<ReturnTypeFrom<'describeInstanceTypeLimits'>>;
    describeOutboundConnections: (params: ParamsFrom<'describeOutboundConnections', Record<string, never>>) => Promise<ReturnTypeFrom<'describeOutboundConnections'>>;
    describePackages: (params: ParamsFrom<'describePackages', Record<string, never>>) => Promise<ReturnTypeFrom<'describePackages'>>;
    describeReservedInstanceOfferings: (params: ParamsFrom<'describeReservedInstanceOfferings', Record<string, never>>) => Promise<ReturnTypeFrom<'describeReservedInstanceOfferings'>>;
    describeReservedInstances: (params: ParamsFrom<'describeReservedInstances', Record<string, never>>) => Promise<ReturnTypeFrom<'describeReservedInstances'>>;
    dissociatePackage: (params: ParamsFrom<'dissociatePackage', Record<string, never>>) => Promise<ReturnTypeFrom<'dissociatePackage'>>;
    getCompatibleVersions: (params: ParamsFrom<'getCompatibleVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'getCompatibleVersions'>>;
    getPackageVersionHistory: (params: ParamsFrom<'getPackageVersionHistory', Record<string, never>>) => Promise<ReturnTypeFrom<'getPackageVersionHistory'>>;
    getUpgradeHistory: (params: ParamsFrom<'getUpgradeHistory', Record<string, never>>) => Promise<ReturnTypeFrom<'getUpgradeHistory'>>;
    getUpgradeStatus: (params: ParamsFrom<'getUpgradeStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'getUpgradeStatus'>>;
    listDomainNames: (params: ParamsFrom<'listDomainNames', Record<string, never>>) => Promise<ReturnTypeFrom<'listDomainNames'>>;
    listDomainsForPackage: (params: ParamsFrom<'listDomainsForPackage', Record<string, never>>) => Promise<ReturnTypeFrom<'listDomainsForPackage'>>;
    listInstanceTypeDetails: (params: ParamsFrom<'listInstanceTypeDetails', Record<string, never>>) => Promise<ReturnTypeFrom<'listInstanceTypeDetails'>>;
    listPackagesForDomain: (params: ParamsFrom<'listPackagesForDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'listPackagesForDomain'>>;
    listTags: (params: ParamsFrom<'listTags', Record<string, never>>) => Promise<ReturnTypeFrom<'listTags'>>;
    listVersions: (params: ParamsFrom<'listVersions', Record<string, never>>) => Promise<ReturnTypeFrom<'listVersions'>>;
    purchaseReservedInstanceOffering: (params: ParamsFrom<'purchaseReservedInstanceOffering', Record<string, never>>) => Promise<ReturnTypeFrom<'purchaseReservedInstanceOffering'>>;
    rejectInboundConnection: (params: ParamsFrom<'rejectInboundConnection', Record<string, never>>) => Promise<ReturnTypeFrom<'rejectInboundConnection'>>;
    removeTags: (params: ParamsFrom<'removeTags', Record<string, never>>) => Promise<ReturnTypeFrom<'removeTags'>>;
    startServiceSoftwareUpdate: (params: ParamsFrom<'startServiceSoftwareUpdate', Record<string, never>>) => Promise<ReturnTypeFrom<'startServiceSoftwareUpdate'>>;
    updateDomainConfig: (params: ParamsFrom<'updateDomainConfig', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDomainConfig'>>;
    updatePackage: (params: ParamsFrom<'updatePackage', Record<string, never>>) => Promise<ReturnTypeFrom<'updatePackage'>>;
    upgradeDomain: (params: ParamsFrom<'upgradeDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'upgradeDomain'>>;
    static fromClient(client: AWSOpenSearch): OpenSearch;
    static client(options?: AWSOpenSearch.Types.ClientConfiguration): OpenSearch;
}
export {};
