import { WaiterResult } from "@smithy/core/client";
import {
  HttpHandlerOptions as __HttpHandlerOptions,
  PaginationConfiguration,
  Paginator,
  WaiterConfiguration,
} from "@smithy/types";
import {
  BatchCheckLayerAvailabilityCommandInput,
  BatchCheckLayerAvailabilityCommandOutput,
} from "./commands/BatchCheckLayerAvailabilityCommand";
import {
  BatchDeleteImageCommandInput,
  BatchDeleteImageCommandOutput,
} from "./commands/BatchDeleteImageCommand";
import {
  BatchGetImageCommandInput,
  BatchGetImageCommandOutput,
} from "./commands/BatchGetImageCommand";
import {
  BatchGetRepositoryScanningConfigurationCommandInput,
  BatchGetRepositoryScanningConfigurationCommandOutput,
} from "./commands/BatchGetRepositoryScanningConfigurationCommand";
import {
  CompleteLayerUploadCommandInput,
  CompleteLayerUploadCommandOutput,
} from "./commands/CompleteLayerUploadCommand";
import {
  CreatePullThroughCacheRuleCommandInput,
  CreatePullThroughCacheRuleCommandOutput,
} from "./commands/CreatePullThroughCacheRuleCommand";
import {
  CreateRepositoryCommandInput,
  CreateRepositoryCommandOutput,
} from "./commands/CreateRepositoryCommand";
import {
  CreateRepositoryCreationTemplateCommandInput,
  CreateRepositoryCreationTemplateCommandOutput,
} from "./commands/CreateRepositoryCreationTemplateCommand";
import {
  DeleteLifecyclePolicyCommandInput,
  DeleteLifecyclePolicyCommandOutput,
} from "./commands/DeleteLifecyclePolicyCommand";
import {
  DeletePullThroughCacheRuleCommandInput,
  DeletePullThroughCacheRuleCommandOutput,
} from "./commands/DeletePullThroughCacheRuleCommand";
import {
  DeleteRegistryPolicyCommandInput,
  DeleteRegistryPolicyCommandOutput,
} from "./commands/DeleteRegistryPolicyCommand";
import {
  DeleteRepositoryCommandInput,
  DeleteRepositoryCommandOutput,
} from "./commands/DeleteRepositoryCommand";
import {
  DeleteRepositoryCreationTemplateCommandInput,
  DeleteRepositoryCreationTemplateCommandOutput,
} from "./commands/DeleteRepositoryCreationTemplateCommand";
import {
  DeleteRepositoryPolicyCommandInput,
  DeleteRepositoryPolicyCommandOutput,
} from "./commands/DeleteRepositoryPolicyCommand";
import {
  DeleteSigningConfigurationCommandInput,
  DeleteSigningConfigurationCommandOutput,
} from "./commands/DeleteSigningConfigurationCommand";
import {
  DeregisterPullTimeUpdateExclusionCommandInput,
  DeregisterPullTimeUpdateExclusionCommandOutput,
} from "./commands/DeregisterPullTimeUpdateExclusionCommand";
import {
  DescribeImageReplicationStatusCommandInput,
  DescribeImageReplicationStatusCommandOutput,
} from "./commands/DescribeImageReplicationStatusCommand";
import {
  DescribeImageScanFindingsCommandInput,
  DescribeImageScanFindingsCommandOutput,
} from "./commands/DescribeImageScanFindingsCommand";
import {
  DescribeImagesCommandInput,
  DescribeImagesCommandOutput,
} from "./commands/DescribeImagesCommand";
import {
  DescribeImageSigningStatusCommandInput,
  DescribeImageSigningStatusCommandOutput,
} from "./commands/DescribeImageSigningStatusCommand";
import {
  DescribePullThroughCacheRulesCommandInput,
  DescribePullThroughCacheRulesCommandOutput,
} from "./commands/DescribePullThroughCacheRulesCommand";
import {
  DescribeRegistryCommandInput,
  DescribeRegistryCommandOutput,
} from "./commands/DescribeRegistryCommand";
import {
  DescribeRepositoriesCommandInput,
  DescribeRepositoriesCommandOutput,
} from "./commands/DescribeRepositoriesCommand";
import {
  DescribeRepositoryCreationTemplatesCommandInput,
  DescribeRepositoryCreationTemplatesCommandOutput,
} from "./commands/DescribeRepositoryCreationTemplatesCommand";
import {
  GetAccountSettingCommandInput,
  GetAccountSettingCommandOutput,
} from "./commands/GetAccountSettingCommand";
import {
  GetAuthorizationTokenCommandInput,
  GetAuthorizationTokenCommandOutput,
} from "./commands/GetAuthorizationTokenCommand";
import {
  GetDownloadUrlForLayerCommandInput,
  GetDownloadUrlForLayerCommandOutput,
} from "./commands/GetDownloadUrlForLayerCommand";
import {
  GetLifecyclePolicyCommandInput,
  GetLifecyclePolicyCommandOutput,
} from "./commands/GetLifecyclePolicyCommand";
import {
  GetLifecyclePolicyPreviewCommandInput,
  GetLifecyclePolicyPreviewCommandOutput,
} from "./commands/GetLifecyclePolicyPreviewCommand";
import {
  GetRegistryPolicyCommandInput,
  GetRegistryPolicyCommandOutput,
} from "./commands/GetRegistryPolicyCommand";
import {
  GetRegistryScanningConfigurationCommandInput,
  GetRegistryScanningConfigurationCommandOutput,
} from "./commands/GetRegistryScanningConfigurationCommand";
import {
  GetRepositoryPolicyCommandInput,
  GetRepositoryPolicyCommandOutput,
} from "./commands/GetRepositoryPolicyCommand";
import {
  GetSigningConfigurationCommandInput,
  GetSigningConfigurationCommandOutput,
} from "./commands/GetSigningConfigurationCommand";
import {
  InitiateLayerUploadCommandInput,
  InitiateLayerUploadCommandOutput,
} from "./commands/InitiateLayerUploadCommand";
import {
  ListImageReferrersCommandInput,
  ListImageReferrersCommandOutput,
} from "./commands/ListImageReferrersCommand";
import { ListImagesCommandInput, ListImagesCommandOutput } from "./commands/ListImagesCommand";
import {
  ListPullTimeUpdateExclusionsCommandInput,
  ListPullTimeUpdateExclusionsCommandOutput,
} from "./commands/ListPullTimeUpdateExclusionsCommand";
import {
  ListTagsForResourceCommandInput,
  ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import {
  PutAccountSettingCommandInput,
  PutAccountSettingCommandOutput,
} from "./commands/PutAccountSettingCommand";
import { PutImageCommandInput, PutImageCommandOutput } from "./commands/PutImageCommand";
import {
  PutImageScanningConfigurationCommandInput,
  PutImageScanningConfigurationCommandOutput,
} from "./commands/PutImageScanningConfigurationCommand";
import {
  PutImageTagMutabilityCommandInput,
  PutImageTagMutabilityCommandOutput,
} from "./commands/PutImageTagMutabilityCommand";
import {
  PutLifecyclePolicyCommandInput,
  PutLifecyclePolicyCommandOutput,
} from "./commands/PutLifecyclePolicyCommand";
import {
  PutRegistryPolicyCommandInput,
  PutRegistryPolicyCommandOutput,
} from "./commands/PutRegistryPolicyCommand";
import {
  PutRegistryScanningConfigurationCommandInput,
  PutRegistryScanningConfigurationCommandOutput,
} from "./commands/PutRegistryScanningConfigurationCommand";
import {
  PutReplicationConfigurationCommandInput,
  PutReplicationConfigurationCommandOutput,
} from "./commands/PutReplicationConfigurationCommand";
import {
  PutSigningConfigurationCommandInput,
  PutSigningConfigurationCommandOutput,
} from "./commands/PutSigningConfigurationCommand";
import {
  RegisterPullTimeUpdateExclusionCommandInput,
  RegisterPullTimeUpdateExclusionCommandOutput,
} from "./commands/RegisterPullTimeUpdateExclusionCommand";
import {
  SetRepositoryPolicyCommandInput,
  SetRepositoryPolicyCommandOutput,
} from "./commands/SetRepositoryPolicyCommand";
import {
  StartImageScanCommandInput,
  StartImageScanCommandOutput,
} from "./commands/StartImageScanCommand";
import {
  StartLifecyclePolicyPreviewCommandInput,
  StartLifecyclePolicyPreviewCommandOutput,
} from "./commands/StartLifecyclePolicyPreviewCommand";
import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand";
import {
  UntagResourceCommandInput,
  UntagResourceCommandOutput,
} from "./commands/UntagResourceCommand";
import {
  UpdateImageStorageClassCommandInput,
  UpdateImageStorageClassCommandOutput,
} from "./commands/UpdateImageStorageClassCommand";
import {
  UpdatePullThroughCacheRuleCommandInput,
  UpdatePullThroughCacheRuleCommandOutput,
} from "./commands/UpdatePullThroughCacheRuleCommand";
import {
  UpdateRepositoryCreationTemplateCommandInput,
  UpdateRepositoryCreationTemplateCommandOutput,
} from "./commands/UpdateRepositoryCreationTemplateCommand";
import {
  UploadLayerPartCommandInput,
  UploadLayerPartCommandOutput,
} from "./commands/UploadLayerPartCommand";
import {
  ValidatePullThroughCacheRuleCommandInput,
  ValidatePullThroughCacheRuleCommandOutput,
} from "./commands/ValidatePullThroughCacheRuleCommand";
import { ECRClient } from "./ECRClient";
export interface ECR {
  batchCheckLayerAvailability(
    args: BatchCheckLayerAvailabilityCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<BatchCheckLayerAvailabilityCommandOutput>;
  batchCheckLayerAvailability(
    args: BatchCheckLayerAvailabilityCommandInput,
    cb: (err: any, data?: BatchCheckLayerAvailabilityCommandOutput) => void,
  ): void;
  batchCheckLayerAvailability(
    args: BatchCheckLayerAvailabilityCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchCheckLayerAvailabilityCommandOutput) => void,
  ): void;
  batchDeleteImage(
    args: BatchDeleteImageCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<BatchDeleteImageCommandOutput>;
  batchDeleteImage(
    args: BatchDeleteImageCommandInput,
    cb: (err: any, data?: BatchDeleteImageCommandOutput) => void,
  ): void;
  batchDeleteImage(
    args: BatchDeleteImageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchDeleteImageCommandOutput) => void,
  ): void;
  batchGetImage(
    args: BatchGetImageCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<BatchGetImageCommandOutput>;
  batchGetImage(
    args: BatchGetImageCommandInput,
    cb: (err: any, data?: BatchGetImageCommandOutput) => void,
  ): void;
  batchGetImage(
    args: BatchGetImageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetImageCommandOutput) => void,
  ): void;
  batchGetRepositoryScanningConfiguration(
    args: BatchGetRepositoryScanningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<BatchGetRepositoryScanningConfigurationCommandOutput>;
  batchGetRepositoryScanningConfiguration(
    args: BatchGetRepositoryScanningConfigurationCommandInput,
    cb: (err: any, data?: BatchGetRepositoryScanningConfigurationCommandOutput) => void,
  ): void;
  batchGetRepositoryScanningConfiguration(
    args: BatchGetRepositoryScanningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetRepositoryScanningConfigurationCommandOutput) => void,
  ): void;
  completeLayerUpload(
    args: CompleteLayerUploadCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<CompleteLayerUploadCommandOutput>;
  completeLayerUpload(
    args: CompleteLayerUploadCommandInput,
    cb: (err: any, data?: CompleteLayerUploadCommandOutput) => void,
  ): void;
  completeLayerUpload(
    args: CompleteLayerUploadCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CompleteLayerUploadCommandOutput) => void,
  ): void;
  createPullThroughCacheRule(
    args: CreatePullThroughCacheRuleCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<CreatePullThroughCacheRuleCommandOutput>;
  createPullThroughCacheRule(
    args: CreatePullThroughCacheRuleCommandInput,
    cb: (err: any, data?: CreatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  createPullThroughCacheRule(
    args: CreatePullThroughCacheRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  createRepository(
    args: CreateRepositoryCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<CreateRepositoryCommandOutput>;
  createRepository(
    args: CreateRepositoryCommandInput,
    cb: (err: any, data?: CreateRepositoryCommandOutput) => void,
  ): void;
  createRepository(
    args: CreateRepositoryCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateRepositoryCommandOutput) => void,
  ): void;
  createRepositoryCreationTemplate(
    args: CreateRepositoryCreationTemplateCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<CreateRepositoryCreationTemplateCommandOutput>;
  createRepositoryCreationTemplate(
    args: CreateRepositoryCreationTemplateCommandInput,
    cb: (err: any, data?: CreateRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  createRepositoryCreationTemplate(
    args: CreateRepositoryCreationTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  deleteLifecyclePolicy(
    args: DeleteLifecyclePolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteLifecyclePolicyCommandOutput>;
  deleteLifecyclePolicy(
    args: DeleteLifecyclePolicyCommandInput,
    cb: (err: any, data?: DeleteLifecyclePolicyCommandOutput) => void,
  ): void;
  deleteLifecyclePolicy(
    args: DeleteLifecyclePolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteLifecyclePolicyCommandOutput) => void,
  ): void;
  deletePullThroughCacheRule(
    args: DeletePullThroughCacheRuleCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeletePullThroughCacheRuleCommandOutput>;
  deletePullThroughCacheRule(
    args: DeletePullThroughCacheRuleCommandInput,
    cb: (err: any, data?: DeletePullThroughCacheRuleCommandOutput) => void,
  ): void;
  deletePullThroughCacheRule(
    args: DeletePullThroughCacheRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeletePullThroughCacheRuleCommandOutput) => void,
  ): void;
  deleteRegistryPolicy(): Promise<DeleteRegistryPolicyCommandOutput>;
  deleteRegistryPolicy(
    args: DeleteRegistryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteRegistryPolicyCommandOutput>;
  deleteRegistryPolicy(
    args: DeleteRegistryPolicyCommandInput,
    cb: (err: any, data?: DeleteRegistryPolicyCommandOutput) => void,
  ): void;
  deleteRegistryPolicy(
    args: DeleteRegistryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRegistryPolicyCommandOutput) => void,
  ): void;
  deleteRepository(
    args: DeleteRepositoryCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteRepositoryCommandOutput>;
  deleteRepository(
    args: DeleteRepositoryCommandInput,
    cb: (err: any, data?: DeleteRepositoryCommandOutput) => void,
  ): void;
  deleteRepository(
    args: DeleteRepositoryCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRepositoryCommandOutput) => void,
  ): void;
  deleteRepositoryCreationTemplate(
    args: DeleteRepositoryCreationTemplateCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteRepositoryCreationTemplateCommandOutput>;
  deleteRepositoryCreationTemplate(
    args: DeleteRepositoryCreationTemplateCommandInput,
    cb: (err: any, data?: DeleteRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  deleteRepositoryCreationTemplate(
    args: DeleteRepositoryCreationTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  deleteRepositoryPolicy(
    args: DeleteRepositoryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteRepositoryPolicyCommandOutput>;
  deleteRepositoryPolicy(
    args: DeleteRepositoryPolicyCommandInput,
    cb: (err: any, data?: DeleteRepositoryPolicyCommandOutput) => void,
  ): void;
  deleteRepositoryPolicy(
    args: DeleteRepositoryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRepositoryPolicyCommandOutput) => void,
  ): void;
  deleteSigningConfiguration(): Promise<DeleteSigningConfigurationCommandOutput>;
  deleteSigningConfiguration(
    args: DeleteSigningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeleteSigningConfigurationCommandOutput>;
  deleteSigningConfiguration(
    args: DeleteSigningConfigurationCommandInput,
    cb: (err: any, data?: DeleteSigningConfigurationCommandOutput) => void,
  ): void;
  deleteSigningConfiguration(
    args: DeleteSigningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteSigningConfigurationCommandOutput) => void,
  ): void;
  deregisterPullTimeUpdateExclusion(
    args: DeregisterPullTimeUpdateExclusionCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DeregisterPullTimeUpdateExclusionCommandOutput>;
  deregisterPullTimeUpdateExclusion(
    args: DeregisterPullTimeUpdateExclusionCommandInput,
    cb: (err: any, data?: DeregisterPullTimeUpdateExclusionCommandOutput) => void,
  ): void;
  deregisterPullTimeUpdateExclusion(
    args: DeregisterPullTimeUpdateExclusionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeregisterPullTimeUpdateExclusionCommandOutput) => void,
  ): void;
  describeImageReplicationStatus(
    args: DescribeImageReplicationStatusCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeImageReplicationStatusCommandOutput>;
  describeImageReplicationStatus(
    args: DescribeImageReplicationStatusCommandInput,
    cb: (err: any, data?: DescribeImageReplicationStatusCommandOutput) => void,
  ): void;
  describeImageReplicationStatus(
    args: DescribeImageReplicationStatusCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeImageReplicationStatusCommandOutput) => void,
  ): void;
  describeImages(
    args: DescribeImagesCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeImagesCommandOutput>;
  describeImages(
    args: DescribeImagesCommandInput,
    cb: (err: any, data?: DescribeImagesCommandOutput) => void,
  ): void;
  describeImages(
    args: DescribeImagesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeImagesCommandOutput) => void,
  ): void;
  describeImageScanFindings(
    args: DescribeImageScanFindingsCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeImageScanFindingsCommandOutput>;
  describeImageScanFindings(
    args: DescribeImageScanFindingsCommandInput,
    cb: (err: any, data?: DescribeImageScanFindingsCommandOutput) => void,
  ): void;
  describeImageScanFindings(
    args: DescribeImageScanFindingsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeImageScanFindingsCommandOutput) => void,
  ): void;
  describeImageSigningStatus(
    args: DescribeImageSigningStatusCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeImageSigningStatusCommandOutput>;
  describeImageSigningStatus(
    args: DescribeImageSigningStatusCommandInput,
    cb: (err: any, data?: DescribeImageSigningStatusCommandOutput) => void,
  ): void;
  describeImageSigningStatus(
    args: DescribeImageSigningStatusCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeImageSigningStatusCommandOutput) => void,
  ): void;
  describePullThroughCacheRules(): Promise<DescribePullThroughCacheRulesCommandOutput>;
  describePullThroughCacheRules(
    args: DescribePullThroughCacheRulesCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribePullThroughCacheRulesCommandOutput>;
  describePullThroughCacheRules(
    args: DescribePullThroughCacheRulesCommandInput,
    cb: (err: any, data?: DescribePullThroughCacheRulesCommandOutput) => void,
  ): void;
  describePullThroughCacheRules(
    args: DescribePullThroughCacheRulesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribePullThroughCacheRulesCommandOutput) => void,
  ): void;
  describeRegistry(): Promise<DescribeRegistryCommandOutput>;
  describeRegistry(
    args: DescribeRegistryCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeRegistryCommandOutput>;
  describeRegistry(
    args: DescribeRegistryCommandInput,
    cb: (err: any, data?: DescribeRegistryCommandOutput) => void,
  ): void;
  describeRegistry(
    args: DescribeRegistryCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeRegistryCommandOutput) => void,
  ): void;
  describeRepositories(): Promise<DescribeRepositoriesCommandOutput>;
  describeRepositories(
    args: DescribeRepositoriesCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeRepositoriesCommandOutput>;
  describeRepositories(
    args: DescribeRepositoriesCommandInput,
    cb: (err: any, data?: DescribeRepositoriesCommandOutput) => void,
  ): void;
  describeRepositories(
    args: DescribeRepositoriesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeRepositoriesCommandOutput) => void,
  ): void;
  describeRepositoryCreationTemplates(): Promise<DescribeRepositoryCreationTemplatesCommandOutput>;
  describeRepositoryCreationTemplates(
    args: DescribeRepositoryCreationTemplatesCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<DescribeRepositoryCreationTemplatesCommandOutput>;
  describeRepositoryCreationTemplates(
    args: DescribeRepositoryCreationTemplatesCommandInput,
    cb: (err: any, data?: DescribeRepositoryCreationTemplatesCommandOutput) => void,
  ): void;
  describeRepositoryCreationTemplates(
    args: DescribeRepositoryCreationTemplatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeRepositoryCreationTemplatesCommandOutput) => void,
  ): void;
  getAccountSetting(
    args: GetAccountSettingCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetAccountSettingCommandOutput>;
  getAccountSetting(
    args: GetAccountSettingCommandInput,
    cb: (err: any, data?: GetAccountSettingCommandOutput) => void,
  ): void;
  getAccountSetting(
    args: GetAccountSettingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetAccountSettingCommandOutput) => void,
  ): void;
  getAuthorizationToken(): Promise<GetAuthorizationTokenCommandOutput>;
  getAuthorizationToken(
    args: GetAuthorizationTokenCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetAuthorizationTokenCommandOutput>;
  getAuthorizationToken(
    args: GetAuthorizationTokenCommandInput,
    cb: (err: any, data?: GetAuthorizationTokenCommandOutput) => void,
  ): void;
  getAuthorizationToken(
    args: GetAuthorizationTokenCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetAuthorizationTokenCommandOutput) => void,
  ): void;
  getDownloadUrlForLayer(
    args: GetDownloadUrlForLayerCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetDownloadUrlForLayerCommandOutput>;
  getDownloadUrlForLayer(
    args: GetDownloadUrlForLayerCommandInput,
    cb: (err: any, data?: GetDownloadUrlForLayerCommandOutput) => void,
  ): void;
  getDownloadUrlForLayer(
    args: GetDownloadUrlForLayerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDownloadUrlForLayerCommandOutput) => void,
  ): void;
  getLifecyclePolicy(
    args: GetLifecyclePolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetLifecyclePolicyCommandOutput>;
  getLifecyclePolicy(
    args: GetLifecyclePolicyCommandInput,
    cb: (err: any, data?: GetLifecyclePolicyCommandOutput) => void,
  ): void;
  getLifecyclePolicy(
    args: GetLifecyclePolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetLifecyclePolicyCommandOutput) => void,
  ): void;
  getLifecyclePolicyPreview(
    args: GetLifecyclePolicyPreviewCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetLifecyclePolicyPreviewCommandOutput>;
  getLifecyclePolicyPreview(
    args: GetLifecyclePolicyPreviewCommandInput,
    cb: (err: any, data?: GetLifecyclePolicyPreviewCommandOutput) => void,
  ): void;
  getLifecyclePolicyPreview(
    args: GetLifecyclePolicyPreviewCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetLifecyclePolicyPreviewCommandOutput) => void,
  ): void;
  getRegistryPolicy(): Promise<GetRegistryPolicyCommandOutput>;
  getRegistryPolicy(
    args: GetRegistryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetRegistryPolicyCommandOutput>;
  getRegistryPolicy(
    args: GetRegistryPolicyCommandInput,
    cb: (err: any, data?: GetRegistryPolicyCommandOutput) => void,
  ): void;
  getRegistryPolicy(
    args: GetRegistryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetRegistryPolicyCommandOutput) => void,
  ): void;
  getRegistryScanningConfiguration(): Promise<GetRegistryScanningConfigurationCommandOutput>;
  getRegistryScanningConfiguration(
    args: GetRegistryScanningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetRegistryScanningConfigurationCommandOutput>;
  getRegistryScanningConfiguration(
    args: GetRegistryScanningConfigurationCommandInput,
    cb: (err: any, data?: GetRegistryScanningConfigurationCommandOutput) => void,
  ): void;
  getRegistryScanningConfiguration(
    args: GetRegistryScanningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetRegistryScanningConfigurationCommandOutput) => void,
  ): void;
  getRepositoryPolicy(
    args: GetRepositoryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetRepositoryPolicyCommandOutput>;
  getRepositoryPolicy(
    args: GetRepositoryPolicyCommandInput,
    cb: (err: any, data?: GetRepositoryPolicyCommandOutput) => void,
  ): void;
  getRepositoryPolicy(
    args: GetRepositoryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetRepositoryPolicyCommandOutput) => void,
  ): void;
  getSigningConfiguration(): Promise<GetSigningConfigurationCommandOutput>;
  getSigningConfiguration(
    args: GetSigningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<GetSigningConfigurationCommandOutput>;
  getSigningConfiguration(
    args: GetSigningConfigurationCommandInput,
    cb: (err: any, data?: GetSigningConfigurationCommandOutput) => void,
  ): void;
  getSigningConfiguration(
    args: GetSigningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetSigningConfigurationCommandOutput) => void,
  ): void;
  initiateLayerUpload(
    args: InitiateLayerUploadCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<InitiateLayerUploadCommandOutput>;
  initiateLayerUpload(
    args: InitiateLayerUploadCommandInput,
    cb: (err: any, data?: InitiateLayerUploadCommandOutput) => void,
  ): void;
  initiateLayerUpload(
    args: InitiateLayerUploadCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: InitiateLayerUploadCommandOutput) => void,
  ): void;
  listImageReferrers(
    args: ListImageReferrersCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<ListImageReferrersCommandOutput>;
  listImageReferrers(
    args: ListImageReferrersCommandInput,
    cb: (err: any, data?: ListImageReferrersCommandOutput) => void,
  ): void;
  listImageReferrers(
    args: ListImageReferrersCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListImageReferrersCommandOutput) => void,
  ): void;
  listImages(
    args: ListImagesCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<ListImagesCommandOutput>;
  listImages(
    args: ListImagesCommandInput,
    cb: (err: any, data?: ListImagesCommandOutput) => void,
  ): void;
  listImages(
    args: ListImagesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListImagesCommandOutput) => void,
  ): void;
  listPullTimeUpdateExclusions(): Promise<ListPullTimeUpdateExclusionsCommandOutput>;
  listPullTimeUpdateExclusions(
    args: ListPullTimeUpdateExclusionsCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<ListPullTimeUpdateExclusionsCommandOutput>;
  listPullTimeUpdateExclusions(
    args: ListPullTimeUpdateExclusionsCommandInput,
    cb: (err: any, data?: ListPullTimeUpdateExclusionsCommandOutput) => void,
  ): void;
  listPullTimeUpdateExclusions(
    args: ListPullTimeUpdateExclusionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPullTimeUpdateExclusionsCommandOutput) => void,
  ): void;
  listTagsForResource(
    args: ListTagsForResourceCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<ListTagsForResourceCommandOutput>;
  listTagsForResource(
    args: ListTagsForResourceCommandInput,
    cb: (err: any, data?: ListTagsForResourceCommandOutput) => void,
  ): void;
  listTagsForResource(
    args: ListTagsForResourceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListTagsForResourceCommandOutput) => void,
  ): void;
  putAccountSetting(
    args: PutAccountSettingCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutAccountSettingCommandOutput>;
  putAccountSetting(
    args: PutAccountSettingCommandInput,
    cb: (err: any, data?: PutAccountSettingCommandOutput) => void,
  ): void;
  putAccountSetting(
    args: PutAccountSettingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutAccountSettingCommandOutput) => void,
  ): void;
  putImage(
    args: PutImageCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutImageCommandOutput>;
  putImage(args: PutImageCommandInput, cb: (err: any, data?: PutImageCommandOutput) => void): void;
  putImage(
    args: PutImageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutImageCommandOutput) => void,
  ): void;
  putImageScanningConfiguration(
    args: PutImageScanningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutImageScanningConfigurationCommandOutput>;
  putImageScanningConfiguration(
    args: PutImageScanningConfigurationCommandInput,
    cb: (err: any, data?: PutImageScanningConfigurationCommandOutput) => void,
  ): void;
  putImageScanningConfiguration(
    args: PutImageScanningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutImageScanningConfigurationCommandOutput) => void,
  ): void;
  putImageTagMutability(
    args: PutImageTagMutabilityCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutImageTagMutabilityCommandOutput>;
  putImageTagMutability(
    args: PutImageTagMutabilityCommandInput,
    cb: (err: any, data?: PutImageTagMutabilityCommandOutput) => void,
  ): void;
  putImageTagMutability(
    args: PutImageTagMutabilityCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutImageTagMutabilityCommandOutput) => void,
  ): void;
  putLifecyclePolicy(
    args: PutLifecyclePolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutLifecyclePolicyCommandOutput>;
  putLifecyclePolicy(
    args: PutLifecyclePolicyCommandInput,
    cb: (err: any, data?: PutLifecyclePolicyCommandOutput) => void,
  ): void;
  putLifecyclePolicy(
    args: PutLifecyclePolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutLifecyclePolicyCommandOutput) => void,
  ): void;
  putRegistryPolicy(
    args: PutRegistryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutRegistryPolicyCommandOutput>;
  putRegistryPolicy(
    args: PutRegistryPolicyCommandInput,
    cb: (err: any, data?: PutRegistryPolicyCommandOutput) => void,
  ): void;
  putRegistryPolicy(
    args: PutRegistryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutRegistryPolicyCommandOutput) => void,
  ): void;
  putRegistryScanningConfiguration(): Promise<PutRegistryScanningConfigurationCommandOutput>;
  putRegistryScanningConfiguration(
    args: PutRegistryScanningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutRegistryScanningConfigurationCommandOutput>;
  putRegistryScanningConfiguration(
    args: PutRegistryScanningConfigurationCommandInput,
    cb: (err: any, data?: PutRegistryScanningConfigurationCommandOutput) => void,
  ): void;
  putRegistryScanningConfiguration(
    args: PutRegistryScanningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutRegistryScanningConfigurationCommandOutput) => void,
  ): void;
  putReplicationConfiguration(
    args: PutReplicationConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutReplicationConfigurationCommandOutput>;
  putReplicationConfiguration(
    args: PutReplicationConfigurationCommandInput,
    cb: (err: any, data?: PutReplicationConfigurationCommandOutput) => void,
  ): void;
  putReplicationConfiguration(
    args: PutReplicationConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutReplicationConfigurationCommandOutput) => void,
  ): void;
  putSigningConfiguration(
    args: PutSigningConfigurationCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<PutSigningConfigurationCommandOutput>;
  putSigningConfiguration(
    args: PutSigningConfigurationCommandInput,
    cb: (err: any, data?: PutSigningConfigurationCommandOutput) => void,
  ): void;
  putSigningConfiguration(
    args: PutSigningConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutSigningConfigurationCommandOutput) => void,
  ): void;
  registerPullTimeUpdateExclusion(
    args: RegisterPullTimeUpdateExclusionCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<RegisterPullTimeUpdateExclusionCommandOutput>;
  registerPullTimeUpdateExclusion(
    args: RegisterPullTimeUpdateExclusionCommandInput,
    cb: (err: any, data?: RegisterPullTimeUpdateExclusionCommandOutput) => void,
  ): void;
  registerPullTimeUpdateExclusion(
    args: RegisterPullTimeUpdateExclusionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterPullTimeUpdateExclusionCommandOutput) => void,
  ): void;
  setRepositoryPolicy(
    args: SetRepositoryPolicyCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<SetRepositoryPolicyCommandOutput>;
  setRepositoryPolicy(
    args: SetRepositoryPolicyCommandInput,
    cb: (err: any, data?: SetRepositoryPolicyCommandOutput) => void,
  ): void;
  setRepositoryPolicy(
    args: SetRepositoryPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetRepositoryPolicyCommandOutput) => void,
  ): void;
  startImageScan(
    args: StartImageScanCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<StartImageScanCommandOutput>;
  startImageScan(
    args: StartImageScanCommandInput,
    cb: (err: any, data?: StartImageScanCommandOutput) => void,
  ): void;
  startImageScan(
    args: StartImageScanCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartImageScanCommandOutput) => void,
  ): void;
  startLifecyclePolicyPreview(
    args: StartLifecyclePolicyPreviewCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<StartLifecyclePolicyPreviewCommandOutput>;
  startLifecyclePolicyPreview(
    args: StartLifecyclePolicyPreviewCommandInput,
    cb: (err: any, data?: StartLifecyclePolicyPreviewCommandOutput) => void,
  ): void;
  startLifecyclePolicyPreview(
    args: StartLifecyclePolicyPreviewCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartLifecyclePolicyPreviewCommandOutput) => void,
  ): void;
  tagResource(
    args: TagResourceCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<TagResourceCommandOutput>;
  tagResource(
    args: TagResourceCommandInput,
    cb: (err: any, data?: TagResourceCommandOutput) => void,
  ): void;
  tagResource(
    args: TagResourceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: TagResourceCommandOutput) => void,
  ): void;
  untagResource(
    args: UntagResourceCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<UntagResourceCommandOutput>;
  untagResource(
    args: UntagResourceCommandInput,
    cb: (err: any, data?: UntagResourceCommandOutput) => void,
  ): void;
  untagResource(
    args: UntagResourceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UntagResourceCommandOutput) => void,
  ): void;
  updateImageStorageClass(
    args: UpdateImageStorageClassCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<UpdateImageStorageClassCommandOutput>;
  updateImageStorageClass(
    args: UpdateImageStorageClassCommandInput,
    cb: (err: any, data?: UpdateImageStorageClassCommandOutput) => void,
  ): void;
  updateImageStorageClass(
    args: UpdateImageStorageClassCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateImageStorageClassCommandOutput) => void,
  ): void;
  updatePullThroughCacheRule(
    args: UpdatePullThroughCacheRuleCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<UpdatePullThroughCacheRuleCommandOutput>;
  updatePullThroughCacheRule(
    args: UpdatePullThroughCacheRuleCommandInput,
    cb: (err: any, data?: UpdatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  updatePullThroughCacheRule(
    args: UpdatePullThroughCacheRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  updateRepositoryCreationTemplate(
    args: UpdateRepositoryCreationTemplateCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<UpdateRepositoryCreationTemplateCommandOutput>;
  updateRepositoryCreationTemplate(
    args: UpdateRepositoryCreationTemplateCommandInput,
    cb: (err: any, data?: UpdateRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  updateRepositoryCreationTemplate(
    args: UpdateRepositoryCreationTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateRepositoryCreationTemplateCommandOutput) => void,
  ): void;
  uploadLayerPart(
    args: UploadLayerPartCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<UploadLayerPartCommandOutput>;
  uploadLayerPart(
    args: UploadLayerPartCommandInput,
    cb: (err: any, data?: UploadLayerPartCommandOutput) => void,
  ): void;
  uploadLayerPart(
    args: UploadLayerPartCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UploadLayerPartCommandOutput) => void,
  ): void;
  validatePullThroughCacheRule(
    args: ValidatePullThroughCacheRuleCommandInput,
    options?: __HttpHandlerOptions,
  ): Promise<ValidatePullThroughCacheRuleCommandOutput>;
  validatePullThroughCacheRule(
    args: ValidatePullThroughCacheRuleCommandInput,
    cb: (err: any, data?: ValidatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  validatePullThroughCacheRule(
    args: ValidatePullThroughCacheRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ValidatePullThroughCacheRuleCommandOutput) => void,
  ): void;
  paginateDescribeImages(
    args: DescribeImagesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<DescribeImagesCommandOutput>;
  paginateDescribeImageScanFindings(
    args: DescribeImageScanFindingsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<DescribeImageScanFindingsCommandOutput>;
  paginateDescribePullThroughCacheRules(
    args?: DescribePullThroughCacheRulesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<DescribePullThroughCacheRulesCommandOutput>;
  paginateDescribeRepositories(
    args?: DescribeRepositoriesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<DescribeRepositoriesCommandOutput>;
  paginateDescribeRepositoryCreationTemplates(
    args?: DescribeRepositoryCreationTemplatesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<DescribeRepositoryCreationTemplatesCommandOutput>;
  paginateGetLifecyclePolicyPreview(
    args: GetLifecyclePolicyPreviewCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<GetLifecyclePolicyPreviewCommandOutput>;
  paginateListImages(
    args: ListImagesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >,
  ): Paginator<ListImagesCommandOutput>;
  waitUntilImageScanComplete(
    args: DescribeImageScanFindingsCommandInput,
    waiterConfig:
      | number
      | Pick<WaiterConfiguration<ECR>, Exclude<keyof WaiterConfiguration<ECR>, "client">>,
  ): Promise<WaiterResult<DescribeImageScanFindingsCommandOutput>>;
  waitUntilLifecyclePolicyPreviewComplete(
    args: GetLifecyclePolicyPreviewCommandInput,
    waiterConfig:
      | number
      | Pick<WaiterConfiguration<ECR>, Exclude<keyof WaiterConfiguration<ECR>, "client">>,
  ): Promise<WaiterResult<GetLifecyclePolicyPreviewCommandOutput>>;
}
export declare class ECR extends ECRClient implements ECR {}
