import { WaiterResult } from "@smithy/core/client";
import {
  HttpHandlerOptions as __HttpHandlerOptions,
  PaginationConfiguration,
  Paginator,
  WaiterConfiguration,
} from "@smithy/types";
import { CodeDeployClient } from "./CodeDeployClient";
import {
  AddTagsToOnPremisesInstancesCommandInput,
  AddTagsToOnPremisesInstancesCommandOutput,
} from "./commands/AddTagsToOnPremisesInstancesCommand";
import {
  BatchGetApplicationRevisionsCommandInput,
  BatchGetApplicationRevisionsCommandOutput,
} from "./commands/BatchGetApplicationRevisionsCommand";
import {
  BatchGetApplicationsCommandInput,
  BatchGetApplicationsCommandOutput,
} from "./commands/BatchGetApplicationsCommand";
import {
  BatchGetDeploymentGroupsCommandInput,
  BatchGetDeploymentGroupsCommandOutput,
} from "./commands/BatchGetDeploymentGroupsCommand";
import {
  BatchGetDeploymentInstancesCommandInput,
  BatchGetDeploymentInstancesCommandOutput,
} from "./commands/BatchGetDeploymentInstancesCommand";
import {
  BatchGetDeploymentsCommandInput,
  BatchGetDeploymentsCommandOutput,
} from "./commands/BatchGetDeploymentsCommand";
import {
  BatchGetDeploymentTargetsCommandInput,
  BatchGetDeploymentTargetsCommandOutput,
} from "./commands/BatchGetDeploymentTargetsCommand";
import {
  BatchGetOnPremisesInstancesCommandInput,
  BatchGetOnPremisesInstancesCommandOutput,
} from "./commands/BatchGetOnPremisesInstancesCommand";
import {
  ContinueDeploymentCommandInput,
  ContinueDeploymentCommandOutput,
} from "./commands/ContinueDeploymentCommand";
import {
  CreateApplicationCommandInput,
  CreateApplicationCommandOutput,
} from "./commands/CreateApplicationCommand";
import {
  CreateDeploymentCommandInput,
  CreateDeploymentCommandOutput,
} from "./commands/CreateDeploymentCommand";
import {
  CreateDeploymentConfigCommandInput,
  CreateDeploymentConfigCommandOutput,
} from "./commands/CreateDeploymentConfigCommand";
import {
  CreateDeploymentGroupCommandInput,
  CreateDeploymentGroupCommandOutput,
} from "./commands/CreateDeploymentGroupCommand";
import {
  DeleteApplicationCommandInput,
  DeleteApplicationCommandOutput,
} from "./commands/DeleteApplicationCommand";
import {
  DeleteDeploymentConfigCommandInput,
  DeleteDeploymentConfigCommandOutput,
} from "./commands/DeleteDeploymentConfigCommand";
import {
  DeleteDeploymentGroupCommandInput,
  DeleteDeploymentGroupCommandOutput,
} from "./commands/DeleteDeploymentGroupCommand";
import {
  DeleteGitHubAccountTokenCommandInput,
  DeleteGitHubAccountTokenCommandOutput,
} from "./commands/DeleteGitHubAccountTokenCommand";
import {
  DeleteResourcesByExternalIdCommandInput,
  DeleteResourcesByExternalIdCommandOutput,
} from "./commands/DeleteResourcesByExternalIdCommand";
import {
  DeregisterOnPremisesInstanceCommandInput,
  DeregisterOnPremisesInstanceCommandOutput,
} from "./commands/DeregisterOnPremisesInstanceCommand";
import {
  GetApplicationCommandInput,
  GetApplicationCommandOutput,
} from "./commands/GetApplicationCommand";
import {
  GetApplicationRevisionCommandInput,
  GetApplicationRevisionCommandOutput,
} from "./commands/GetApplicationRevisionCommand";
import {
  GetDeploymentCommandInput,
  GetDeploymentCommandOutput,
} from "./commands/GetDeploymentCommand";
import {
  GetDeploymentConfigCommandInput,
  GetDeploymentConfigCommandOutput,
} from "./commands/GetDeploymentConfigCommand";
import {
  GetDeploymentGroupCommandInput,
  GetDeploymentGroupCommandOutput,
} from "./commands/GetDeploymentGroupCommand";
import {
  GetDeploymentInstanceCommandInput,
  GetDeploymentInstanceCommandOutput,
} from "./commands/GetDeploymentInstanceCommand";
import {
  GetDeploymentTargetCommandInput,
  GetDeploymentTargetCommandOutput,
} from "./commands/GetDeploymentTargetCommand";
import {
  GetOnPremisesInstanceCommandInput,
  GetOnPremisesInstanceCommandOutput,
} from "./commands/GetOnPremisesInstanceCommand";
import {
  ListApplicationRevisionsCommandInput,
  ListApplicationRevisionsCommandOutput,
} from "./commands/ListApplicationRevisionsCommand";
import {
  ListApplicationsCommandInput,
  ListApplicationsCommandOutput,
} from "./commands/ListApplicationsCommand";
import {
  ListDeploymentConfigsCommandInput,
  ListDeploymentConfigsCommandOutput,
} from "./commands/ListDeploymentConfigsCommand";
import {
  ListDeploymentGroupsCommandInput,
  ListDeploymentGroupsCommandOutput,
} from "./commands/ListDeploymentGroupsCommand";
import {
  ListDeploymentInstancesCommandInput,
  ListDeploymentInstancesCommandOutput,
} from "./commands/ListDeploymentInstancesCommand";
import {
  ListDeploymentsCommandInput,
  ListDeploymentsCommandOutput,
} from "./commands/ListDeploymentsCommand";
import {
  ListDeploymentTargetsCommandInput,
  ListDeploymentTargetsCommandOutput,
} from "./commands/ListDeploymentTargetsCommand";
import {
  ListGitHubAccountTokenNamesCommandInput,
  ListGitHubAccountTokenNamesCommandOutput,
} from "./commands/ListGitHubAccountTokenNamesCommand";
import {
  ListOnPremisesInstancesCommandInput,
  ListOnPremisesInstancesCommandOutput,
} from "./commands/ListOnPremisesInstancesCommand";
import {
  ListTagsForResourceCommandInput,
  ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import {
  PutLifecycleEventHookExecutionStatusCommandInput,
  PutLifecycleEventHookExecutionStatusCommandOutput,
} from "./commands/PutLifecycleEventHookExecutionStatusCommand";
import {
  RegisterApplicationRevisionCommandInput,
  RegisterApplicationRevisionCommandOutput,
} from "./commands/RegisterApplicationRevisionCommand";
import {
  RegisterOnPremisesInstanceCommandInput,
  RegisterOnPremisesInstanceCommandOutput,
} from "./commands/RegisterOnPremisesInstanceCommand";
import {
  RemoveTagsFromOnPremisesInstancesCommandInput,
  RemoveTagsFromOnPremisesInstancesCommandOutput,
} from "./commands/RemoveTagsFromOnPremisesInstancesCommand";
import {
  SkipWaitTimeForInstanceTerminationCommandInput,
  SkipWaitTimeForInstanceTerminationCommandOutput,
} from "./commands/SkipWaitTimeForInstanceTerminationCommand";
import {
  StopDeploymentCommandInput,
  StopDeploymentCommandOutput,
} from "./commands/StopDeploymentCommand";
import {
  TagResourceCommandInput,
  TagResourceCommandOutput,
} from "./commands/TagResourceCommand";
import {
  UntagResourceCommandInput,
  UntagResourceCommandOutput,
} from "./commands/UntagResourceCommand";
import {
  UpdateApplicationCommandInput,
  UpdateApplicationCommandOutput,
} from "./commands/UpdateApplicationCommand";
import {
  UpdateDeploymentGroupCommandInput,
  UpdateDeploymentGroupCommandOutput,
} from "./commands/UpdateDeploymentGroupCommand";
export interface CodeDeploy {
  addTagsToOnPremisesInstances(
    args: AddTagsToOnPremisesInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AddTagsToOnPremisesInstancesCommandOutput>;
  addTagsToOnPremisesInstances(
    args: AddTagsToOnPremisesInstancesCommandInput,
    cb: (err: any, data?: AddTagsToOnPremisesInstancesCommandOutput) => void
  ): void;
  addTagsToOnPremisesInstances(
    args: AddTagsToOnPremisesInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AddTagsToOnPremisesInstancesCommandOutput) => void
  ): void;
  batchGetApplicationRevisions(
    args: BatchGetApplicationRevisionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetApplicationRevisionsCommandOutput>;
  batchGetApplicationRevisions(
    args: BatchGetApplicationRevisionsCommandInput,
    cb: (err: any, data?: BatchGetApplicationRevisionsCommandOutput) => void
  ): void;
  batchGetApplicationRevisions(
    args: BatchGetApplicationRevisionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetApplicationRevisionsCommandOutput) => void
  ): void;
  batchGetApplications(
    args: BatchGetApplicationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetApplicationsCommandOutput>;
  batchGetApplications(
    args: BatchGetApplicationsCommandInput,
    cb: (err: any, data?: BatchGetApplicationsCommandOutput) => void
  ): void;
  batchGetApplications(
    args: BatchGetApplicationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetApplicationsCommandOutput) => void
  ): void;
  batchGetDeploymentGroups(
    args: BatchGetDeploymentGroupsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetDeploymentGroupsCommandOutput>;
  batchGetDeploymentGroups(
    args: BatchGetDeploymentGroupsCommandInput,
    cb: (err: any, data?: BatchGetDeploymentGroupsCommandOutput) => void
  ): void;
  batchGetDeploymentGroups(
    args: BatchGetDeploymentGroupsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetDeploymentGroupsCommandOutput) => void
  ): void;
  batchGetDeploymentInstances(
    args: BatchGetDeploymentInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetDeploymentInstancesCommandOutput>;
  batchGetDeploymentInstances(
    args: BatchGetDeploymentInstancesCommandInput,
    cb: (err: any, data?: BatchGetDeploymentInstancesCommandOutput) => void
  ): void;
  batchGetDeploymentInstances(
    args: BatchGetDeploymentInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetDeploymentInstancesCommandOutput) => void
  ): void;
  batchGetDeployments(
    args: BatchGetDeploymentsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetDeploymentsCommandOutput>;
  batchGetDeployments(
    args: BatchGetDeploymentsCommandInput,
    cb: (err: any, data?: BatchGetDeploymentsCommandOutput) => void
  ): void;
  batchGetDeployments(
    args: BatchGetDeploymentsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetDeploymentsCommandOutput) => void
  ): void;
  batchGetDeploymentTargets(
    args: BatchGetDeploymentTargetsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetDeploymentTargetsCommandOutput>;
  batchGetDeploymentTargets(
    args: BatchGetDeploymentTargetsCommandInput,
    cb: (err: any, data?: BatchGetDeploymentTargetsCommandOutput) => void
  ): void;
  batchGetDeploymentTargets(
    args: BatchGetDeploymentTargetsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetDeploymentTargetsCommandOutput) => void
  ): void;
  batchGetOnPremisesInstances(
    args: BatchGetOnPremisesInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<BatchGetOnPremisesInstancesCommandOutput>;
  batchGetOnPremisesInstances(
    args: BatchGetOnPremisesInstancesCommandInput,
    cb: (err: any, data?: BatchGetOnPremisesInstancesCommandOutput) => void
  ): void;
  batchGetOnPremisesInstances(
    args: BatchGetOnPremisesInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: BatchGetOnPremisesInstancesCommandOutput) => void
  ): void;
  continueDeployment(): Promise<ContinueDeploymentCommandOutput>;
  continueDeployment(
    args: ContinueDeploymentCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ContinueDeploymentCommandOutput>;
  continueDeployment(
    args: ContinueDeploymentCommandInput,
    cb: (err: any, data?: ContinueDeploymentCommandOutput) => void
  ): void;
  continueDeployment(
    args: ContinueDeploymentCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ContinueDeploymentCommandOutput) => void
  ): void;
  createApplication(
    args: CreateApplicationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateApplicationCommandOutput>;
  createApplication(
    args: CreateApplicationCommandInput,
    cb: (err: any, data?: CreateApplicationCommandOutput) => void
  ): void;
  createApplication(
    args: CreateApplicationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateApplicationCommandOutput) => void
  ): void;
  createDeployment(
    args: CreateDeploymentCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDeploymentCommandOutput>;
  createDeployment(
    args: CreateDeploymentCommandInput,
    cb: (err: any, data?: CreateDeploymentCommandOutput) => void
  ): void;
  createDeployment(
    args: CreateDeploymentCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDeploymentCommandOutput) => void
  ): void;
  createDeploymentConfig(
    args: CreateDeploymentConfigCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDeploymentConfigCommandOutput>;
  createDeploymentConfig(
    args: CreateDeploymentConfigCommandInput,
    cb: (err: any, data?: CreateDeploymentConfigCommandOutput) => void
  ): void;
  createDeploymentConfig(
    args: CreateDeploymentConfigCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDeploymentConfigCommandOutput) => void
  ): void;
  createDeploymentGroup(
    args: CreateDeploymentGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDeploymentGroupCommandOutput>;
  createDeploymentGroup(
    args: CreateDeploymentGroupCommandInput,
    cb: (err: any, data?: CreateDeploymentGroupCommandOutput) => void
  ): void;
  createDeploymentGroup(
    args: CreateDeploymentGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDeploymentGroupCommandOutput) => void
  ): void;
  deleteApplication(
    args: DeleteApplicationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteApplicationCommandOutput>;
  deleteApplication(
    args: DeleteApplicationCommandInput,
    cb: (err: any, data?: DeleteApplicationCommandOutput) => void
  ): void;
  deleteApplication(
    args: DeleteApplicationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteApplicationCommandOutput) => void
  ): void;
  deleteDeploymentConfig(
    args: DeleteDeploymentConfigCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteDeploymentConfigCommandOutput>;
  deleteDeploymentConfig(
    args: DeleteDeploymentConfigCommandInput,
    cb: (err: any, data?: DeleteDeploymentConfigCommandOutput) => void
  ): void;
  deleteDeploymentConfig(
    args: DeleteDeploymentConfigCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteDeploymentConfigCommandOutput) => void
  ): void;
  deleteDeploymentGroup(
    args: DeleteDeploymentGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteDeploymentGroupCommandOutput>;
  deleteDeploymentGroup(
    args: DeleteDeploymentGroupCommandInput,
    cb: (err: any, data?: DeleteDeploymentGroupCommandOutput) => void
  ): void;
  deleteDeploymentGroup(
    args: DeleteDeploymentGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteDeploymentGroupCommandOutput) => void
  ): void;
  deleteGitHubAccountToken(): Promise<DeleteGitHubAccountTokenCommandOutput>;
  deleteGitHubAccountToken(
    args: DeleteGitHubAccountTokenCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteGitHubAccountTokenCommandOutput>;
  deleteGitHubAccountToken(
    args: DeleteGitHubAccountTokenCommandInput,
    cb: (err: any, data?: DeleteGitHubAccountTokenCommandOutput) => void
  ): void;
  deleteGitHubAccountToken(
    args: DeleteGitHubAccountTokenCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteGitHubAccountTokenCommandOutput) => void
  ): void;
  deleteResourcesByExternalId(): Promise<DeleteResourcesByExternalIdCommandOutput>;
  deleteResourcesByExternalId(
    args: DeleteResourcesByExternalIdCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteResourcesByExternalIdCommandOutput>;
  deleteResourcesByExternalId(
    args: DeleteResourcesByExternalIdCommandInput,
    cb: (err: any, data?: DeleteResourcesByExternalIdCommandOutput) => void
  ): void;
  deleteResourcesByExternalId(
    args: DeleteResourcesByExternalIdCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteResourcesByExternalIdCommandOutput) => void
  ): void;
  deregisterOnPremisesInstance(
    args: DeregisterOnPremisesInstanceCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeregisterOnPremisesInstanceCommandOutput>;
  deregisterOnPremisesInstance(
    args: DeregisterOnPremisesInstanceCommandInput,
    cb: (err: any, data?: DeregisterOnPremisesInstanceCommandOutput) => void
  ): void;
  deregisterOnPremisesInstance(
    args: DeregisterOnPremisesInstanceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeregisterOnPremisesInstanceCommandOutput) => void
  ): void;
  getApplication(
    args: GetApplicationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetApplicationCommandOutput>;
  getApplication(
    args: GetApplicationCommandInput,
    cb: (err: any, data?: GetApplicationCommandOutput) => void
  ): void;
  getApplication(
    args: GetApplicationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetApplicationCommandOutput) => void
  ): void;
  getApplicationRevision(
    args: GetApplicationRevisionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetApplicationRevisionCommandOutput>;
  getApplicationRevision(
    args: GetApplicationRevisionCommandInput,
    cb: (err: any, data?: GetApplicationRevisionCommandOutput) => void
  ): void;
  getApplicationRevision(
    args: GetApplicationRevisionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetApplicationRevisionCommandOutput) => void
  ): void;
  getDeployment(
    args: GetDeploymentCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetDeploymentCommandOutput>;
  getDeployment(
    args: GetDeploymentCommandInput,
    cb: (err: any, data?: GetDeploymentCommandOutput) => void
  ): void;
  getDeployment(
    args: GetDeploymentCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDeploymentCommandOutput) => void
  ): void;
  getDeploymentConfig(
    args: GetDeploymentConfigCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetDeploymentConfigCommandOutput>;
  getDeploymentConfig(
    args: GetDeploymentConfigCommandInput,
    cb: (err: any, data?: GetDeploymentConfigCommandOutput) => void
  ): void;
  getDeploymentConfig(
    args: GetDeploymentConfigCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDeploymentConfigCommandOutput) => void
  ): void;
  getDeploymentGroup(
    args: GetDeploymentGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetDeploymentGroupCommandOutput>;
  getDeploymentGroup(
    args: GetDeploymentGroupCommandInput,
    cb: (err: any, data?: GetDeploymentGroupCommandOutput) => void
  ): void;
  getDeploymentGroup(
    args: GetDeploymentGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDeploymentGroupCommandOutput) => void
  ): void;
  getDeploymentInstance(
    args: GetDeploymentInstanceCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetDeploymentInstanceCommandOutput>;
  getDeploymentInstance(
    args: GetDeploymentInstanceCommandInput,
    cb: (err: any, data?: GetDeploymentInstanceCommandOutput) => void
  ): void;
  getDeploymentInstance(
    args: GetDeploymentInstanceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDeploymentInstanceCommandOutput) => void
  ): void;
  getDeploymentTarget(
    args: GetDeploymentTargetCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetDeploymentTargetCommandOutput>;
  getDeploymentTarget(
    args: GetDeploymentTargetCommandInput,
    cb: (err: any, data?: GetDeploymentTargetCommandOutput) => void
  ): void;
  getDeploymentTarget(
    args: GetDeploymentTargetCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetDeploymentTargetCommandOutput) => void
  ): void;
  getOnPremisesInstance(
    args: GetOnPremisesInstanceCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetOnPremisesInstanceCommandOutput>;
  getOnPremisesInstance(
    args: GetOnPremisesInstanceCommandInput,
    cb: (err: any, data?: GetOnPremisesInstanceCommandOutput) => void
  ): void;
  getOnPremisesInstance(
    args: GetOnPremisesInstanceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetOnPremisesInstanceCommandOutput) => void
  ): void;
  listApplicationRevisions(
    args: ListApplicationRevisionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListApplicationRevisionsCommandOutput>;
  listApplicationRevisions(
    args: ListApplicationRevisionsCommandInput,
    cb: (err: any, data?: ListApplicationRevisionsCommandOutput) => void
  ): void;
  listApplicationRevisions(
    args: ListApplicationRevisionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListApplicationRevisionsCommandOutput) => void
  ): void;
  listApplications(): Promise<ListApplicationsCommandOutput>;
  listApplications(
    args: ListApplicationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListApplicationsCommandOutput>;
  listApplications(
    args: ListApplicationsCommandInput,
    cb: (err: any, data?: ListApplicationsCommandOutput) => void
  ): void;
  listApplications(
    args: ListApplicationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListApplicationsCommandOutput) => void
  ): void;
  listDeploymentConfigs(): Promise<ListDeploymentConfigsCommandOutput>;
  listDeploymentConfigs(
    args: ListDeploymentConfigsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDeploymentConfigsCommandOutput>;
  listDeploymentConfigs(
    args: ListDeploymentConfigsCommandInput,
    cb: (err: any, data?: ListDeploymentConfigsCommandOutput) => void
  ): void;
  listDeploymentConfigs(
    args: ListDeploymentConfigsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDeploymentConfigsCommandOutput) => void
  ): void;
  listDeploymentGroups(
    args: ListDeploymentGroupsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDeploymentGroupsCommandOutput>;
  listDeploymentGroups(
    args: ListDeploymentGroupsCommandInput,
    cb: (err: any, data?: ListDeploymentGroupsCommandOutput) => void
  ): void;
  listDeploymentGroups(
    args: ListDeploymentGroupsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDeploymentGroupsCommandOutput) => void
  ): void;
  listDeploymentInstances(
    args: ListDeploymentInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDeploymentInstancesCommandOutput>;
  listDeploymentInstances(
    args: ListDeploymentInstancesCommandInput,
    cb: (err: any, data?: ListDeploymentInstancesCommandOutput) => void
  ): void;
  listDeploymentInstances(
    args: ListDeploymentInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDeploymentInstancesCommandOutput) => void
  ): void;
  listDeployments(): Promise<ListDeploymentsCommandOutput>;
  listDeployments(
    args: ListDeploymentsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDeploymentsCommandOutput>;
  listDeployments(
    args: ListDeploymentsCommandInput,
    cb: (err: any, data?: ListDeploymentsCommandOutput) => void
  ): void;
  listDeployments(
    args: ListDeploymentsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDeploymentsCommandOutput) => void
  ): void;
  listDeploymentTargets(
    args: ListDeploymentTargetsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDeploymentTargetsCommandOutput>;
  listDeploymentTargets(
    args: ListDeploymentTargetsCommandInput,
    cb: (err: any, data?: ListDeploymentTargetsCommandOutput) => void
  ): void;
  listDeploymentTargets(
    args: ListDeploymentTargetsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDeploymentTargetsCommandOutput) => void
  ): void;
  listGitHubAccountTokenNames(): Promise<ListGitHubAccountTokenNamesCommandOutput>;
  listGitHubAccountTokenNames(
    args: ListGitHubAccountTokenNamesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListGitHubAccountTokenNamesCommandOutput>;
  listGitHubAccountTokenNames(
    args: ListGitHubAccountTokenNamesCommandInput,
    cb: (err: any, data?: ListGitHubAccountTokenNamesCommandOutput) => void
  ): void;
  listGitHubAccountTokenNames(
    args: ListGitHubAccountTokenNamesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListGitHubAccountTokenNamesCommandOutput) => void
  ): void;
  listOnPremisesInstances(): Promise<ListOnPremisesInstancesCommandOutput>;
  listOnPremisesInstances(
    args: ListOnPremisesInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListOnPremisesInstancesCommandOutput>;
  listOnPremisesInstances(
    args: ListOnPremisesInstancesCommandInput,
    cb: (err: any, data?: ListOnPremisesInstancesCommandOutput) => void
  ): void;
  listOnPremisesInstances(
    args: ListOnPremisesInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListOnPremisesInstancesCommandOutput) => 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;
  putLifecycleEventHookExecutionStatus(): Promise<PutLifecycleEventHookExecutionStatusCommandOutput>;
  putLifecycleEventHookExecutionStatus(
    args: PutLifecycleEventHookExecutionStatusCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<PutLifecycleEventHookExecutionStatusCommandOutput>;
  putLifecycleEventHookExecutionStatus(
    args: PutLifecycleEventHookExecutionStatusCommandInput,
    cb: (
      err: any,
      data?: PutLifecycleEventHookExecutionStatusCommandOutput
    ) => void
  ): void;
  putLifecycleEventHookExecutionStatus(
    args: PutLifecycleEventHookExecutionStatusCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: PutLifecycleEventHookExecutionStatusCommandOutput
    ) => void
  ): void;
  registerApplicationRevision(
    args: RegisterApplicationRevisionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterApplicationRevisionCommandOutput>;
  registerApplicationRevision(
    args: RegisterApplicationRevisionCommandInput,
    cb: (err: any, data?: RegisterApplicationRevisionCommandOutput) => void
  ): void;
  registerApplicationRevision(
    args: RegisterApplicationRevisionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterApplicationRevisionCommandOutput) => void
  ): void;
  registerOnPremisesInstance(
    args: RegisterOnPremisesInstanceCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterOnPremisesInstanceCommandOutput>;
  registerOnPremisesInstance(
    args: RegisterOnPremisesInstanceCommandInput,
    cb: (err: any, data?: RegisterOnPremisesInstanceCommandOutput) => void
  ): void;
  registerOnPremisesInstance(
    args: RegisterOnPremisesInstanceCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterOnPremisesInstanceCommandOutput) => void
  ): void;
  removeTagsFromOnPremisesInstances(
    args: RemoveTagsFromOnPremisesInstancesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RemoveTagsFromOnPremisesInstancesCommandOutput>;
  removeTagsFromOnPremisesInstances(
    args: RemoveTagsFromOnPremisesInstancesCommandInput,
    cb: (
      err: any,
      data?: RemoveTagsFromOnPremisesInstancesCommandOutput
    ) => void
  ): void;
  removeTagsFromOnPremisesInstances(
    args: RemoveTagsFromOnPremisesInstancesCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: RemoveTagsFromOnPremisesInstancesCommandOutput
    ) => void
  ): void;
  skipWaitTimeForInstanceTermination(): Promise<SkipWaitTimeForInstanceTerminationCommandOutput>;
  skipWaitTimeForInstanceTermination(
    args: SkipWaitTimeForInstanceTerminationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SkipWaitTimeForInstanceTerminationCommandOutput>;
  skipWaitTimeForInstanceTermination(
    args: SkipWaitTimeForInstanceTerminationCommandInput,
    cb: (
      err: any,
      data?: SkipWaitTimeForInstanceTerminationCommandOutput
    ) => void
  ): void;
  skipWaitTimeForInstanceTermination(
    args: SkipWaitTimeForInstanceTerminationCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: SkipWaitTimeForInstanceTerminationCommandOutput
    ) => void
  ): void;
  stopDeployment(
    args: StopDeploymentCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StopDeploymentCommandOutput>;
  stopDeployment(
    args: StopDeploymentCommandInput,
    cb: (err: any, data?: StopDeploymentCommandOutput) => void
  ): void;
  stopDeployment(
    args: StopDeploymentCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StopDeploymentCommandOutput) => 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;
  updateApplication(): Promise<UpdateApplicationCommandOutput>;
  updateApplication(
    args: UpdateApplicationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateApplicationCommandOutput>;
  updateApplication(
    args: UpdateApplicationCommandInput,
    cb: (err: any, data?: UpdateApplicationCommandOutput) => void
  ): void;
  updateApplication(
    args: UpdateApplicationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateApplicationCommandOutput) => void
  ): void;
  updateDeploymentGroup(
    args: UpdateDeploymentGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateDeploymentGroupCommandOutput>;
  updateDeploymentGroup(
    args: UpdateDeploymentGroupCommandInput,
    cb: (err: any, data?: UpdateDeploymentGroupCommandOutput) => void
  ): void;
  updateDeploymentGroup(
    args: UpdateDeploymentGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateDeploymentGroupCommandOutput) => void
  ): void;
  paginateListApplicationRevisions(
    args: ListApplicationRevisionsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListApplicationRevisionsCommandOutput>;
  paginateListApplications(
    args?: ListApplicationsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListApplicationsCommandOutput>;
  paginateListDeploymentConfigs(
    args?: ListDeploymentConfigsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListDeploymentConfigsCommandOutput>;
  paginateListDeploymentGroups(
    args: ListDeploymentGroupsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListDeploymentGroupsCommandOutput>;
  paginateListDeploymentInstances(
    args: ListDeploymentInstancesCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListDeploymentInstancesCommandOutput>;
  paginateListDeployments(
    args?: ListDeploymentsCommandInput,
    paginationConfig?: Pick<
      PaginationConfiguration,
      Exclude<keyof PaginationConfiguration, "client">
    >
  ): Paginator<ListDeploymentsCommandOutput>;
  waitUntilDeploymentSuccessful(
    args: GetDeploymentCommandInput,
    waiterConfig:
      | number
      | Pick<
          WaiterConfiguration<CodeDeploy>,
          Exclude<keyof WaiterConfiguration<CodeDeploy>, "client">
        >
  ): Promise<WaiterResult<GetDeploymentCommandOutput>>;
}
export declare class CodeDeploy
  extends CodeDeployClient
  implements CodeDeploy {}
