import { Request, Imagebuilder as AWSImagebuilder } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSImagebuilder> = AWSImagebuilder[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSImagebuilder, Extras> = AWSImagebuilder[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class Imagebuilder {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "imagebuilder";
    readonly global: false;
    readonly category: "Compute";
    readonly topLevelCalls: readonly ["listComponents", "listContainerRecipes", "listDistributionConfigurations", "listImagePipelines", "listImageRecipes", "listImages", "listInfrastructureConfigurations"];
    cancelImageCreation: (params: ParamsFrom<'cancelImageCreation', Record<string, never>>) => Promise<ReturnTypeFrom<'cancelImageCreation'>>;
    createComponent: (params: ParamsFrom<'createComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'createComponent'>>;
    createContainerRecipe: (params: ParamsFrom<'createContainerRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'createContainerRecipe'>>;
    createDistributionConfiguration: (params: ParamsFrom<'createDistributionConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createDistributionConfiguration'>>;
    createImage: (params: ParamsFrom<'createImage', Record<string, never>>) => Promise<ReturnTypeFrom<'createImage'>>;
    createImagePipeline: (params: ParamsFrom<'createImagePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'createImagePipeline'>>;
    createImageRecipe: (params: ParamsFrom<'createImageRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'createImageRecipe'>>;
    createInfrastructureConfiguration: (params: ParamsFrom<'createInfrastructureConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'createInfrastructureConfiguration'>>;
    deleteComponent: (params: ParamsFrom<'deleteComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteComponent'>>;
    deleteContainerRecipe: (params: ParamsFrom<'deleteContainerRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteContainerRecipe'>>;
    deleteDistributionConfiguration: (params: ParamsFrom<'deleteDistributionConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteDistributionConfiguration'>>;
    deleteImage: (params: ParamsFrom<'deleteImage', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteImage'>>;
    deleteImagePipeline: (params: ParamsFrom<'deleteImagePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteImagePipeline'>>;
    deleteImageRecipe: (params: ParamsFrom<'deleteImageRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteImageRecipe'>>;
    deleteInfrastructureConfiguration: (params: ParamsFrom<'deleteInfrastructureConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteInfrastructureConfiguration'>>;
    getComponent: (params: ParamsFrom<'getComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'getComponent'>>;
    getComponentPolicy: (params: ParamsFrom<'getComponentPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getComponentPolicy'>>;
    getContainerRecipe: (params: ParamsFrom<'getContainerRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'getContainerRecipe'>>;
    getContainerRecipePolicy: (params: ParamsFrom<'getContainerRecipePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getContainerRecipePolicy'>>;
    getDistributionConfiguration: (params: ParamsFrom<'getDistributionConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getDistributionConfiguration'>>;
    getImage: (params: ParamsFrom<'getImage', Record<string, never>>) => Promise<ReturnTypeFrom<'getImage'>>;
    getImagePipeline: (params: ParamsFrom<'getImagePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'getImagePipeline'>>;
    getImagePolicy: (params: ParamsFrom<'getImagePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getImagePolicy'>>;
    getImageRecipe: (params: ParamsFrom<'getImageRecipe', Record<string, never>>) => Promise<ReturnTypeFrom<'getImageRecipe'>>;
    getImageRecipePolicy: (params: ParamsFrom<'getImageRecipePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getImageRecipePolicy'>>;
    getInfrastructureConfiguration: (params: ParamsFrom<'getInfrastructureConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getInfrastructureConfiguration'>>;
    importComponent: (params: ParamsFrom<'importComponent', Record<string, never>>) => Promise<ReturnTypeFrom<'importComponent'>>;
    importVmImage: (params: ParamsFrom<'importVmImage', Record<string, never>>) => Promise<ReturnTypeFrom<'importVmImage'>>;
    listComponentBuildVersions(params: {
        [K in keyof ParamsFrom<'listComponentBuildVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listComponentBuildVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listComponentBuildVersions'>]-?: ReturnTypeFrom<'listComponentBuildVersions'>[K];
        }['componentSummaryList'];
    }>;
    listComponents(params: {
        [K in keyof ParamsFrom<'listComponents', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listComponents', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listComponents'>]-?: ReturnTypeFrom<'listComponents'>[K];
        }['componentVersionList'];
    }>;
    listContainerRecipes(params: {
        [K in keyof ParamsFrom<'listContainerRecipes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listContainerRecipes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listContainerRecipes'>]-?: ReturnTypeFrom<'listContainerRecipes'>[K];
        }['containerRecipeSummaryList'];
    }>;
    listDistributionConfigurations(params: {
        [K in keyof ParamsFrom<'listDistributionConfigurations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listDistributionConfigurations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listDistributionConfigurations'>]-?: ReturnTypeFrom<'listDistributionConfigurations'>[K];
        }['distributionConfigurationSummaryList'];
    }>;
    listImageBuildVersions(params: {
        [K in keyof ParamsFrom<'listImageBuildVersions', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImageBuildVersions', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImageBuildVersions'>]-?: ReturnTypeFrom<'listImageBuildVersions'>[K];
        }['imageSummaryList'];
    }>;
    listImagePackages(params: {
        [K in keyof ParamsFrom<'listImagePackages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImagePackages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImagePackages'>]-?: ReturnTypeFrom<'listImagePackages'>[K];
        }['imagePackageList'];
    }>;
    listImagePipelineImages(params: {
        [K in keyof ParamsFrom<'listImagePipelineImages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImagePipelineImages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImagePipelineImages'>]-?: ReturnTypeFrom<'listImagePipelineImages'>[K];
        }['imageSummaryList'];
    }>;
    listImagePipelines(params: {
        [K in keyof ParamsFrom<'listImagePipelines', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImagePipelines', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImagePipelines'>]-?: ReturnTypeFrom<'listImagePipelines'>[K];
        }['imagePipelineList'];
    }>;
    listImageRecipes(params: {
        [K in keyof ParamsFrom<'listImageRecipes', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImageRecipes', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImageRecipes'>]-?: ReturnTypeFrom<'listImageRecipes'>[K];
        }['imageRecipeSummaryList'];
    }>;
    listImages(params: {
        [K in keyof ParamsFrom<'listImages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listImages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listImages'>]-?: ReturnTypeFrom<'listImages'>[K];
        }['imageVersionList'];
    }>;
    listInfrastructureConfigurations(params: {
        [K in keyof ParamsFrom<'listInfrastructureConfigurations', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'listInfrastructureConfigurations', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'listInfrastructureConfigurations'>]-?: ReturnTypeFrom<'listInfrastructureConfigurations'>[K];
        }['infrastructureConfigurationSummaryList'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putComponentPolicy: (params: ParamsFrom<'putComponentPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putComponentPolicy'>>;
    putContainerRecipePolicy: (params: ParamsFrom<'putContainerRecipePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putContainerRecipePolicy'>>;
    putImagePolicy: (params: ParamsFrom<'putImagePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putImagePolicy'>>;
    putImageRecipePolicy: (params: ParamsFrom<'putImageRecipePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putImageRecipePolicy'>>;
    startImagePipelineExecution: (params: ParamsFrom<'startImagePipelineExecution', Record<string, never>>) => Promise<ReturnTypeFrom<'startImagePipelineExecution'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    updateDistributionConfiguration: (params: ParamsFrom<'updateDistributionConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateDistributionConfiguration'>>;
    updateImagePipeline: (params: ParamsFrom<'updateImagePipeline', Record<string, never>>) => Promise<ReturnTypeFrom<'updateImagePipeline'>>;
    updateInfrastructureConfiguration: (params: ParamsFrom<'updateInfrastructureConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'updateInfrastructureConfiguration'>>;
    static fromClient(client: AWSImagebuilder): Imagebuilder;
    static client(options?: AWSImagebuilder.Types.ClientConfiguration): Imagebuilder;
}
export {};
