import { Request, ACM as AWSACM } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSACM> = AWSACM[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSACM, Extras> = AWSACM[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ACM {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "acm";
    readonly global: false;
    readonly category: "Security, Identity & Compliance";
    readonly topLevelCalls: readonly ["listCertificates"];
    addTagsToCertificate: (params: ParamsFrom<'addTagsToCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'addTagsToCertificate'>>;
    deleteCertificate: (params: ParamsFrom<'deleteCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteCertificate'>>;
    describeCertificate: (params: ParamsFrom<'describeCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'describeCertificate'>>;
    exportCertificate: (params: ParamsFrom<'exportCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'exportCertificate'>>;
    getAccountConfiguration: (params: ParamsFrom<'getAccountConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getAccountConfiguration'>>;
    getCertificate: (params: ParamsFrom<'getCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'getCertificate'>>;
    importCertificate: (params: ParamsFrom<'importCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'importCertificate'>>;
    listCertificates(params: {
        [K in keyof ParamsFrom<'listCertificates', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listCertificates', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listCertificates'>]-?: ReturnTypeFrom<'listCertificates'>[K];
        }['CertificateSummaryList'];
    }>;
    listTagsForCertificate: (params: ParamsFrom<'listTagsForCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForCertificate'>>;
    putAccountConfiguration: (params: ParamsFrom<'putAccountConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putAccountConfiguration'>>;
    removeTagsFromCertificate: (params: ParamsFrom<'removeTagsFromCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'removeTagsFromCertificate'>>;
    renewCertificate: (params: ParamsFrom<'renewCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'renewCertificate'>>;
    requestCertificate: (params: ParamsFrom<'requestCertificate', Record<string, never>>) => Promise<ReturnTypeFrom<'requestCertificate'>>;
    resendValidationEmail: (params: ParamsFrom<'resendValidationEmail', Record<string, never>>) => Promise<ReturnTypeFrom<'resendValidationEmail'>>;
    updateCertificateOptions: (params: ParamsFrom<'updateCertificateOptions', Record<string, never>>) => Promise<ReturnTypeFrom<'updateCertificateOptions'>>;
    static fromClient(client: AWSACM): ACM;
    static client(options?: AWSACM.Types.ClientConfiguration): ACM;
}
export {};
