import { Request, ECR as AWSECR } from 'aws-sdk';
declare type ReturnTypeFrom<K extends keyof AWSECR> = AWSECR[K] extends (...args: any) => Request<infer R, any> ? R : never;
declare type ParamsFrom<K extends keyof AWSECR, Extras> = AWSECR[K] extends {
    (param: infer P, callback: (...args: any) => void): Request<infer R, any>;
    (callback: (...args: any) => void): any;
} ? P & Extras : never;
export declare class ECR {
    private readonly client;
    private constructor();
    readonly signingRegion: undefined;
    readonly service: "ecr";
    readonly global: false;
    readonly category: "Containers";
    readonly topLevelCalls: readonly ["describePullThroughCacheRules", "describeRepositories"];
    batchCheckLayerAvailability: (params: ParamsFrom<'batchCheckLayerAvailability', Record<string, never>>) => Promise<ReturnTypeFrom<'batchCheckLayerAvailability'>>;
    batchDeleteImage: (params: ParamsFrom<'batchDeleteImage', Record<string, never>>) => Promise<ReturnTypeFrom<'batchDeleteImage'>>;
    batchGetImage: (params: ParamsFrom<'batchGetImage', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetImage'>>;
    batchGetRepositoryScanningConfiguration: (params: ParamsFrom<'batchGetRepositoryScanningConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'batchGetRepositoryScanningConfiguration'>>;
    completeLayerUpload: (params: ParamsFrom<'completeLayerUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'completeLayerUpload'>>;
    createPullThroughCacheRule: (params: ParamsFrom<'createPullThroughCacheRule', Record<string, never>>) => Promise<ReturnTypeFrom<'createPullThroughCacheRule'>>;
    createRepository: (params: ParamsFrom<'createRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'createRepository'>>;
    deleteLifecyclePolicy: (params: ParamsFrom<'deleteLifecyclePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteLifecyclePolicy'>>;
    deletePullThroughCacheRule: (params: ParamsFrom<'deletePullThroughCacheRule', Record<string, never>>) => Promise<ReturnTypeFrom<'deletePullThroughCacheRule'>>;
    deleteRegistryPolicy: (params: ParamsFrom<'deleteRegistryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRegistryPolicy'>>;
    deleteRepository: (params: ParamsFrom<'deleteRepository', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRepository'>>;
    deleteRepositoryPolicy: (params: ParamsFrom<'deleteRepositoryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'deleteRepositoryPolicy'>>;
    describeImageReplicationStatus: (params: ParamsFrom<'describeImageReplicationStatus', Record<string, never>>) => Promise<ReturnTypeFrom<'describeImageReplicationStatus'>>;
    describeImageScanFindings: (params: ParamsFrom<'describeImageScanFindings', Record<string, never>>) => Promise<ReturnTypeFrom<'describeImageScanFindings'>>;
    describeImages(params: {
        [K in keyof ParamsFrom<'describeImages', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeImages', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeImages'>]-?: ReturnTypeFrom<'describeImages'>[K];
        }['imageDetails'];
    }>;
    describePullThroughCacheRules(params: {
        [K in keyof ParamsFrom<'describePullThroughCacheRules', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describePullThroughCacheRules', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describePullThroughCacheRules'>]-?: ReturnTypeFrom<'describePullThroughCacheRules'>[K];
        }['pullThroughCacheRules'];
    }>;
    describeRegistry: (params: ParamsFrom<'describeRegistry', Record<string, never>>) => Promise<ReturnTypeFrom<'describeRegistry'>>;
    describeRepositories(params: {
        [K in keyof ParamsFrom<'describeRepositories', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'describeRepositories', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'describeRepositories'>]-?: ReturnTypeFrom<'describeRepositories'>[K];
        }['repositories'];
    }>;
    getAuthorizationToken: (params: ParamsFrom<'getAuthorizationToken', Record<string, never>>) => Promise<ReturnTypeFrom<'getAuthorizationToken'>>;
    getDownloadUrlForLayer: (params: ParamsFrom<'getDownloadUrlForLayer', Record<string, never>>) => Promise<ReturnTypeFrom<'getDownloadUrlForLayer'>>;
    getLifecyclePolicy: (params: ParamsFrom<'getLifecyclePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getLifecyclePolicy'>>;
    getLifecyclePolicyPreview(params: {
        [K in keyof ParamsFrom<'getLifecyclePolicyPreview', {
            next?: string;
            limit?: number;
        }>]: ParamsFrom<'getLifecyclePolicyPreview', {
            next?: string;
            limit?: number;
        }>[K];
    }): Promise<{
        next?: string | number;
        totalItems: number;
        member: {
            [K in keyof ReturnTypeFrom<'getLifecyclePolicyPreview'>]-?: ReturnTypeFrom<'getLifecyclePolicyPreview'>[K];
        }['previewResults'];
    }>;
    getRegistryPolicy: (params: ParamsFrom<'getRegistryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getRegistryPolicy'>>;
    getRegistryScanningConfiguration: (params: ParamsFrom<'getRegistryScanningConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'getRegistryScanningConfiguration'>>;
    getRepositoryPolicy: (params: ParamsFrom<'getRepositoryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'getRepositoryPolicy'>>;
    initiateLayerUpload: (params: ParamsFrom<'initiateLayerUpload', Record<string, never>>) => Promise<ReturnTypeFrom<'initiateLayerUpload'>>;
    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];
        }['imageIds'];
    }>;
    listTagsForResource: (params: ParamsFrom<'listTagsForResource', Record<string, never>>) => Promise<ReturnTypeFrom<'listTagsForResource'>>;
    putImage: (params: ParamsFrom<'putImage', Record<string, never>>) => Promise<ReturnTypeFrom<'putImage'>>;
    putImageScanningConfiguration: (params: ParamsFrom<'putImageScanningConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putImageScanningConfiguration'>>;
    putImageTagMutability: (params: ParamsFrom<'putImageTagMutability', Record<string, never>>) => Promise<ReturnTypeFrom<'putImageTagMutability'>>;
    putLifecyclePolicy: (params: ParamsFrom<'putLifecyclePolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putLifecyclePolicy'>>;
    putRegistryPolicy: (params: ParamsFrom<'putRegistryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'putRegistryPolicy'>>;
    putRegistryScanningConfiguration: (params: ParamsFrom<'putRegistryScanningConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putRegistryScanningConfiguration'>>;
    putReplicationConfiguration: (params: ParamsFrom<'putReplicationConfiguration', Record<string, never>>) => Promise<ReturnTypeFrom<'putReplicationConfiguration'>>;
    setRepositoryPolicy: (params: ParamsFrom<'setRepositoryPolicy', Record<string, never>>) => Promise<ReturnTypeFrom<'setRepositoryPolicy'>>;
    startImageScan: (params: ParamsFrom<'startImageScan', Record<string, never>>) => Promise<ReturnTypeFrom<'startImageScan'>>;
    startLifecyclePolicyPreview: (params: ParamsFrom<'startLifecyclePolicyPreview', Record<string, never>>) => Promise<ReturnTypeFrom<'startLifecyclePolicyPreview'>>;
    tagResource: (params: ParamsFrom<'tagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'tagResource'>>;
    untagResource: (params: ParamsFrom<'untagResource', Record<string, never>>) => Promise<ReturnTypeFrom<'untagResource'>>;
    uploadLayerPart: (params: ParamsFrom<'uploadLayerPart', Record<string, never>>) => Promise<ReturnTypeFrom<'uploadLayerPart'>>;
    static fromClient(client: AWSECR): ECR;
    static client(options?: AWSECR.Types.ClientConfiguration): ECR;
}
export {};
