import { Request, CloudSearch as AWSCloudSearch } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSCloudSearch> = AWSCloudSearch[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSCloudSearch, Extras> = AWSCloudSearch[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class CloudSearch {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "cloudsearch";
    readonly global: false;
    readonly category: "Analytics";
    readonly topLevelCalls: readonly ["describeDomains"];
    buildSuggesters: (params: ParamsFrom<'buildSuggesters', Record<string, never>>) => Promise<ReturnTypeFrom<'buildSuggesters'>>;
    createDomain: (params: ParamsFrom<'createDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'createDomain'>>;
    defineAnalysisScheme: (params: ParamsFrom<'defineAnalysisScheme', Record<string, never>>) => Promise<ReturnTypeFrom<'defineAnalysisScheme'>>;
    defineExpression: (params: ParamsFrom<'defineExpression', Record<string, never>>) => Promise<ReturnTypeFrom<'defineExpression'>>;
    defineIndexField: (params: ParamsFrom<'defineIndexField', Record<string, never>>) => Promise<ReturnTypeFrom<'defineIndexField'>>;
    defineSuggester: (params: ParamsFrom<'defineSuggester', Record<string, never>>) => Promise<ReturnTypeFrom<'defineSuggester'>>;
    deleteAnalysisScheme: (params: ParamsFrom<'deleteAnalysisScheme', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteAnalysisScheme'>>;
    deleteDomain: (params: ParamsFrom<'deleteDomain', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDomain'>>;
    deleteExpression: (params: ParamsFrom<'deleteExpression', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteExpression'>>;
    deleteIndexField: (params: ParamsFrom<'deleteIndexField', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteIndexField'>>;
    deleteSuggester: (params: ParamsFrom<'deleteSuggester', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteSuggester'>>;
    describeAnalysisSchemes: (params: ParamsFrom<'describeAnalysisSchemes', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAnalysisSchemes'>>;
    describeAvailabilityOptions: (params: ParamsFrom<'describeAvailabilityOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeAvailabilityOptions'>>;
    describeDomainEndpointOptions: (params: ParamsFrom<'describeDomainEndpointOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomainEndpointOptions'>>;
    describeDomains: (params: ParamsFrom<'describeDomains', Record<string, never>>) => Promise<ReturnTypeFrom<'describeDomains'>>;
    describeExpressions: (params: ParamsFrom<'describeExpressions', Record<string, never>>) => Promise<ReturnTypeFrom<'describeExpressions'>>;
    describeIndexFields: (params: ParamsFrom<'describeIndexFields', Record<string, never>>) => Promise<ReturnTypeFrom<'describeIndexFields'>>;
    describeScalingParameters: (params: ParamsFrom<'describeScalingParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeScalingParameters'>>;
    describeServiceAccessPolicies: (params: ParamsFrom<'describeServiceAccessPolicies', Record<string, never>>) => Promise<ReturnTypeFrom<'describeServiceAccessPolicies'>>;
    describeSuggesters: (params: ParamsFrom<'describeSuggesters', Record<string, never>>) => Promise<ReturnTypeFrom<'describeSuggesters'>>;
    indexDocuments: (params: ParamsFrom<'indexDocuments', Record<string, never>>) => Promise<ReturnTypeFrom<'indexDocuments'>>;
    listDomainNames: (params: ParamsFrom<'listDomainNames', Record<string, never>>) => Promise<ReturnTypeFrom<'listDomainNames'>>;
    updateAvailabilityOptions: (params: ParamsFrom<'updateAvailabilityOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'updateAvailabilityOptions'>>;
    updateDomainEndpointOptions: (params: ParamsFrom<'updateDomainEndpointOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDomainEndpointOptions'>>;
    updateScalingParameters: (params: ParamsFrom<'updateScalingParameters', Record<string, never>>) => Promise<ReturnTypeFrom<'updateScalingParameters'>>;
    updateServiceAccessPolicies: (params: ParamsFrom<'updateServiceAccessPolicies', Record<string, never>>) => Promise<ReturnTypeFrom<'updateServiceAccessPolicies'>>;
    static fromClient(client: AWSCloudSearch): CloudSearch;
    static client(options?: AWSCloudSearch.Types.ClientConfiguration): CloudSearch;
}
export {};
