import { HttpHandlerOptions as __HttpHandlerOptions } from "@smithy/types";
import {
  AcceptCertificateTransferCommandInput,
  AcceptCertificateTransferCommandOutput,
} from "./commands/AcceptCertificateTransferCommand";
import {
  AddThingToBillingGroupCommandInput,
  AddThingToBillingGroupCommandOutput,
} from "./commands/AddThingToBillingGroupCommand";
import {
  AddThingToThingGroupCommandInput,
  AddThingToThingGroupCommandOutput,
} from "./commands/AddThingToThingGroupCommand";
import {
  AssociateTargetsWithJobCommandInput,
  AssociateTargetsWithJobCommandOutput,
} from "./commands/AssociateTargetsWithJobCommand";
import {
  AttachPolicyCommandInput,
  AttachPolicyCommandOutput,
} from "./commands/AttachPolicyCommand";
import {
  AttachPrincipalPolicyCommandInput,
  AttachPrincipalPolicyCommandOutput,
} from "./commands/AttachPrincipalPolicyCommand";
import {
  AttachSecurityProfileCommandInput,
  AttachSecurityProfileCommandOutput,
} from "./commands/AttachSecurityProfileCommand";
import {
  AttachThingPrincipalCommandInput,
  AttachThingPrincipalCommandOutput,
} from "./commands/AttachThingPrincipalCommand";
import {
  CancelAuditMitigationActionsTaskCommandInput,
  CancelAuditMitigationActionsTaskCommandOutput,
} from "./commands/CancelAuditMitigationActionsTaskCommand";
import {
  CancelAuditTaskCommandInput,
  CancelAuditTaskCommandOutput,
} from "./commands/CancelAuditTaskCommand";
import {
  CancelCertificateTransferCommandInput,
  CancelCertificateTransferCommandOutput,
} from "./commands/CancelCertificateTransferCommand";
import {
  CancelDetectMitigationActionsTaskCommandInput,
  CancelDetectMitigationActionsTaskCommandOutput,
} from "./commands/CancelDetectMitigationActionsTaskCommand";
import {
  CancelJobCommandInput,
  CancelJobCommandOutput,
} from "./commands/CancelJobCommand";
import {
  CancelJobExecutionCommandInput,
  CancelJobExecutionCommandOutput,
} from "./commands/CancelJobExecutionCommand";
import {
  ClearDefaultAuthorizerCommandInput,
  ClearDefaultAuthorizerCommandOutput,
} from "./commands/ClearDefaultAuthorizerCommand";
import {
  ConfirmTopicRuleDestinationCommandInput,
  ConfirmTopicRuleDestinationCommandOutput,
} from "./commands/ConfirmTopicRuleDestinationCommand";
import {
  CreateAuditSuppressionCommandInput,
  CreateAuditSuppressionCommandOutput,
} from "./commands/CreateAuditSuppressionCommand";
import {
  CreateAuthorizerCommandInput,
  CreateAuthorizerCommandOutput,
} from "./commands/CreateAuthorizerCommand";
import {
  CreateBillingGroupCommandInput,
  CreateBillingGroupCommandOutput,
} from "./commands/CreateBillingGroupCommand";
import {
  CreateCertificateFromCsrCommandInput,
  CreateCertificateFromCsrCommandOutput,
} from "./commands/CreateCertificateFromCsrCommand";
import {
  CreateCertificateProviderCommandInput,
  CreateCertificateProviderCommandOutput,
} from "./commands/CreateCertificateProviderCommand";
import {
  CreateCustomMetricCommandInput,
  CreateCustomMetricCommandOutput,
} from "./commands/CreateCustomMetricCommand";
import {
  CreateDimensionCommandInput,
  CreateDimensionCommandOutput,
} from "./commands/CreateDimensionCommand";
import {
  CreateDomainConfigurationCommandInput,
  CreateDomainConfigurationCommandOutput,
} from "./commands/CreateDomainConfigurationCommand";
import {
  CreateDynamicThingGroupCommandInput,
  CreateDynamicThingGroupCommandOutput,
} from "./commands/CreateDynamicThingGroupCommand";
import {
  CreateFleetMetricCommandInput,
  CreateFleetMetricCommandOutput,
} from "./commands/CreateFleetMetricCommand";
import {
  CreateJobCommandInput,
  CreateJobCommandOutput,
} from "./commands/CreateJobCommand";
import {
  CreateJobTemplateCommandInput,
  CreateJobTemplateCommandOutput,
} from "./commands/CreateJobTemplateCommand";
import {
  CreateKeysAndCertificateCommandInput,
  CreateKeysAndCertificateCommandOutput,
} from "./commands/CreateKeysAndCertificateCommand";
import {
  CreateMitigationActionCommandInput,
  CreateMitigationActionCommandOutput,
} from "./commands/CreateMitigationActionCommand";
import {
  CreateOTAUpdateCommandInput,
  CreateOTAUpdateCommandOutput,
} from "./commands/CreateOTAUpdateCommand";
import {
  CreatePackageCommandInput,
  CreatePackageCommandOutput,
} from "./commands/CreatePackageCommand";
import {
  CreatePackageVersionCommandInput,
  CreatePackageVersionCommandOutput,
} from "./commands/CreatePackageVersionCommand";
import {
  CreatePolicyCommandInput,
  CreatePolicyCommandOutput,
} from "./commands/CreatePolicyCommand";
import {
  CreatePolicyVersionCommandInput,
  CreatePolicyVersionCommandOutput,
} from "./commands/CreatePolicyVersionCommand";
import {
  CreateProvisioningClaimCommandInput,
  CreateProvisioningClaimCommandOutput,
} from "./commands/CreateProvisioningClaimCommand";
import {
  CreateProvisioningTemplateCommandInput,
  CreateProvisioningTemplateCommandOutput,
} from "./commands/CreateProvisioningTemplateCommand";
import {
  CreateProvisioningTemplateVersionCommandInput,
  CreateProvisioningTemplateVersionCommandOutput,
} from "./commands/CreateProvisioningTemplateVersionCommand";
import {
  CreateRoleAliasCommandInput,
  CreateRoleAliasCommandOutput,
} from "./commands/CreateRoleAliasCommand";
import {
  CreateScheduledAuditCommandInput,
  CreateScheduledAuditCommandOutput,
} from "./commands/CreateScheduledAuditCommand";
import {
  CreateSecurityProfileCommandInput,
  CreateSecurityProfileCommandOutput,
} from "./commands/CreateSecurityProfileCommand";
import {
  CreateStreamCommandInput,
  CreateStreamCommandOutput,
} from "./commands/CreateStreamCommand";
import {
  CreateThingCommandInput,
  CreateThingCommandOutput,
} from "./commands/CreateThingCommand";
import {
  CreateThingGroupCommandInput,
  CreateThingGroupCommandOutput,
} from "./commands/CreateThingGroupCommand";
import {
  CreateThingTypeCommandInput,
  CreateThingTypeCommandOutput,
} from "./commands/CreateThingTypeCommand";
import {
  CreateTopicRuleCommandInput,
  CreateTopicRuleCommandOutput,
} from "./commands/CreateTopicRuleCommand";
import {
  CreateTopicRuleDestinationCommandInput,
  CreateTopicRuleDestinationCommandOutput,
} from "./commands/CreateTopicRuleDestinationCommand";
import {
  DeleteAccountAuditConfigurationCommandInput,
  DeleteAccountAuditConfigurationCommandOutput,
} from "./commands/DeleteAccountAuditConfigurationCommand";
import {
  DeleteAuditSuppressionCommandInput,
  DeleteAuditSuppressionCommandOutput,
} from "./commands/DeleteAuditSuppressionCommand";
import {
  DeleteAuthorizerCommandInput,
  DeleteAuthorizerCommandOutput,
} from "./commands/DeleteAuthorizerCommand";
import {
  DeleteBillingGroupCommandInput,
  DeleteBillingGroupCommandOutput,
} from "./commands/DeleteBillingGroupCommand";
import {
  DeleteCACertificateCommandInput,
  DeleteCACertificateCommandOutput,
} from "./commands/DeleteCACertificateCommand";
import {
  DeleteCertificateCommandInput,
  DeleteCertificateCommandOutput,
} from "./commands/DeleteCertificateCommand";
import {
  DeleteCertificateProviderCommandInput,
  DeleteCertificateProviderCommandOutput,
} from "./commands/DeleteCertificateProviderCommand";
import {
  DeleteCustomMetricCommandInput,
  DeleteCustomMetricCommandOutput,
} from "./commands/DeleteCustomMetricCommand";
import {
  DeleteDimensionCommandInput,
  DeleteDimensionCommandOutput,
} from "./commands/DeleteDimensionCommand";
import {
  DeleteDomainConfigurationCommandInput,
  DeleteDomainConfigurationCommandOutput,
} from "./commands/DeleteDomainConfigurationCommand";
import {
  DeleteDynamicThingGroupCommandInput,
  DeleteDynamicThingGroupCommandOutput,
} from "./commands/DeleteDynamicThingGroupCommand";
import {
  DeleteFleetMetricCommandInput,
  DeleteFleetMetricCommandOutput,
} from "./commands/DeleteFleetMetricCommand";
import {
  DeleteJobCommandInput,
  DeleteJobCommandOutput,
} from "./commands/DeleteJobCommand";
import {
  DeleteJobExecutionCommandInput,
  DeleteJobExecutionCommandOutput,
} from "./commands/DeleteJobExecutionCommand";
import {
  DeleteJobTemplateCommandInput,
  DeleteJobTemplateCommandOutput,
} from "./commands/DeleteJobTemplateCommand";
import {
  DeleteMitigationActionCommandInput,
  DeleteMitigationActionCommandOutput,
} from "./commands/DeleteMitigationActionCommand";
import {
  DeleteOTAUpdateCommandInput,
  DeleteOTAUpdateCommandOutput,
} from "./commands/DeleteOTAUpdateCommand";
import {
  DeletePackageCommandInput,
  DeletePackageCommandOutput,
} from "./commands/DeletePackageCommand";
import {
  DeletePackageVersionCommandInput,
  DeletePackageVersionCommandOutput,
} from "./commands/DeletePackageVersionCommand";
import {
  DeletePolicyCommandInput,
  DeletePolicyCommandOutput,
} from "./commands/DeletePolicyCommand";
import {
  DeletePolicyVersionCommandInput,
  DeletePolicyVersionCommandOutput,
} from "./commands/DeletePolicyVersionCommand";
import {
  DeleteProvisioningTemplateCommandInput,
  DeleteProvisioningTemplateCommandOutput,
} from "./commands/DeleteProvisioningTemplateCommand";
import {
  DeleteProvisioningTemplateVersionCommandInput,
  DeleteProvisioningTemplateVersionCommandOutput,
} from "./commands/DeleteProvisioningTemplateVersionCommand";
import {
  DeleteRegistrationCodeCommandInput,
  DeleteRegistrationCodeCommandOutput,
} from "./commands/DeleteRegistrationCodeCommand";
import {
  DeleteRoleAliasCommandInput,
  DeleteRoleAliasCommandOutput,
} from "./commands/DeleteRoleAliasCommand";
import {
  DeleteScheduledAuditCommandInput,
  DeleteScheduledAuditCommandOutput,
} from "./commands/DeleteScheduledAuditCommand";
import {
  DeleteSecurityProfileCommandInput,
  DeleteSecurityProfileCommandOutput,
} from "./commands/DeleteSecurityProfileCommand";
import {
  DeleteStreamCommandInput,
  DeleteStreamCommandOutput,
} from "./commands/DeleteStreamCommand";
import {
  DeleteThingCommandInput,
  DeleteThingCommandOutput,
} from "./commands/DeleteThingCommand";
import {
  DeleteThingGroupCommandInput,
  DeleteThingGroupCommandOutput,
} from "./commands/DeleteThingGroupCommand";
import {
  DeleteThingTypeCommandInput,
  DeleteThingTypeCommandOutput,
} from "./commands/DeleteThingTypeCommand";
import {
  DeleteTopicRuleCommandInput,
  DeleteTopicRuleCommandOutput,
} from "./commands/DeleteTopicRuleCommand";
import {
  DeleteTopicRuleDestinationCommandInput,
  DeleteTopicRuleDestinationCommandOutput,
} from "./commands/DeleteTopicRuleDestinationCommand";
import {
  DeleteV2LoggingLevelCommandInput,
  DeleteV2LoggingLevelCommandOutput,
} from "./commands/DeleteV2LoggingLevelCommand";
import {
  DeprecateThingTypeCommandInput,
  DeprecateThingTypeCommandOutput,
} from "./commands/DeprecateThingTypeCommand";
import {
  DescribeAccountAuditConfigurationCommandInput,
  DescribeAccountAuditConfigurationCommandOutput,
} from "./commands/DescribeAccountAuditConfigurationCommand";
import {
  DescribeAuditFindingCommandInput,
  DescribeAuditFindingCommandOutput,
} from "./commands/DescribeAuditFindingCommand";
import {
  DescribeAuditMitigationActionsTaskCommandInput,
  DescribeAuditMitigationActionsTaskCommandOutput,
} from "./commands/DescribeAuditMitigationActionsTaskCommand";
import {
  DescribeAuditSuppressionCommandInput,
  DescribeAuditSuppressionCommandOutput,
} from "./commands/DescribeAuditSuppressionCommand";
import {
  DescribeAuditTaskCommandInput,
  DescribeAuditTaskCommandOutput,
} from "./commands/DescribeAuditTaskCommand";
import {
  DescribeAuthorizerCommandInput,
  DescribeAuthorizerCommandOutput,
} from "./commands/DescribeAuthorizerCommand";
import {
  DescribeBillingGroupCommandInput,
  DescribeBillingGroupCommandOutput,
} from "./commands/DescribeBillingGroupCommand";
import {
  DescribeCACertificateCommandInput,
  DescribeCACertificateCommandOutput,
} from "./commands/DescribeCACertificateCommand";
import {
  DescribeCertificateCommandInput,
  DescribeCertificateCommandOutput,
} from "./commands/DescribeCertificateCommand";
import {
  DescribeCertificateProviderCommandInput,
  DescribeCertificateProviderCommandOutput,
} from "./commands/DescribeCertificateProviderCommand";
import {
  DescribeCustomMetricCommandInput,
  DescribeCustomMetricCommandOutput,
} from "./commands/DescribeCustomMetricCommand";
import {
  DescribeDefaultAuthorizerCommandInput,
  DescribeDefaultAuthorizerCommandOutput,
} from "./commands/DescribeDefaultAuthorizerCommand";
import {
  DescribeDetectMitigationActionsTaskCommandInput,
  DescribeDetectMitigationActionsTaskCommandOutput,
} from "./commands/DescribeDetectMitigationActionsTaskCommand";
import {
  DescribeDimensionCommandInput,
  DescribeDimensionCommandOutput,
} from "./commands/DescribeDimensionCommand";
import {
  DescribeDomainConfigurationCommandInput,
  DescribeDomainConfigurationCommandOutput,
} from "./commands/DescribeDomainConfigurationCommand";
import {
  DescribeEndpointCommandInput,
  DescribeEndpointCommandOutput,
} from "./commands/DescribeEndpointCommand";
import {
  DescribeEventConfigurationsCommandInput,
  DescribeEventConfigurationsCommandOutput,
} from "./commands/DescribeEventConfigurationsCommand";
import {
  DescribeFleetMetricCommandInput,
  DescribeFleetMetricCommandOutput,
} from "./commands/DescribeFleetMetricCommand";
import {
  DescribeIndexCommandInput,
  DescribeIndexCommandOutput,
} from "./commands/DescribeIndexCommand";
import {
  DescribeJobCommandInput,
  DescribeJobCommandOutput,
} from "./commands/DescribeJobCommand";
import {
  DescribeJobExecutionCommandInput,
  DescribeJobExecutionCommandOutput,
} from "./commands/DescribeJobExecutionCommand";
import {
  DescribeJobTemplateCommandInput,
  DescribeJobTemplateCommandOutput,
} from "./commands/DescribeJobTemplateCommand";
import {
  DescribeManagedJobTemplateCommandInput,
  DescribeManagedJobTemplateCommandOutput,
} from "./commands/DescribeManagedJobTemplateCommand";
import {
  DescribeMitigationActionCommandInput,
  DescribeMitigationActionCommandOutput,
} from "./commands/DescribeMitigationActionCommand";
import {
  DescribeProvisioningTemplateCommandInput,
  DescribeProvisioningTemplateCommandOutput,
} from "./commands/DescribeProvisioningTemplateCommand";
import {
  DescribeProvisioningTemplateVersionCommandInput,
  DescribeProvisioningTemplateVersionCommandOutput,
} from "./commands/DescribeProvisioningTemplateVersionCommand";
import {
  DescribeRoleAliasCommandInput,
  DescribeRoleAliasCommandOutput,
} from "./commands/DescribeRoleAliasCommand";
import {
  DescribeScheduledAuditCommandInput,
  DescribeScheduledAuditCommandOutput,
} from "./commands/DescribeScheduledAuditCommand";
import {
  DescribeSecurityProfileCommandInput,
  DescribeSecurityProfileCommandOutput,
} from "./commands/DescribeSecurityProfileCommand";
import {
  DescribeStreamCommandInput,
  DescribeStreamCommandOutput,
} from "./commands/DescribeStreamCommand";
import {
  DescribeThingCommandInput,
  DescribeThingCommandOutput,
} from "./commands/DescribeThingCommand";
import {
  DescribeThingGroupCommandInput,
  DescribeThingGroupCommandOutput,
} from "./commands/DescribeThingGroupCommand";
import {
  DescribeThingRegistrationTaskCommandInput,
  DescribeThingRegistrationTaskCommandOutput,
} from "./commands/DescribeThingRegistrationTaskCommand";
import {
  DescribeThingTypeCommandInput,
  DescribeThingTypeCommandOutput,
} from "./commands/DescribeThingTypeCommand";
import {
  DetachPolicyCommandInput,
  DetachPolicyCommandOutput,
} from "./commands/DetachPolicyCommand";
import {
  DetachPrincipalPolicyCommandInput,
  DetachPrincipalPolicyCommandOutput,
} from "./commands/DetachPrincipalPolicyCommand";
import {
  DetachSecurityProfileCommandInput,
  DetachSecurityProfileCommandOutput,
} from "./commands/DetachSecurityProfileCommand";
import {
  DetachThingPrincipalCommandInput,
  DetachThingPrincipalCommandOutput,
} from "./commands/DetachThingPrincipalCommand";
import {
  DisableTopicRuleCommandInput,
  DisableTopicRuleCommandOutput,
} from "./commands/DisableTopicRuleCommand";
import {
  EnableTopicRuleCommandInput,
  EnableTopicRuleCommandOutput,
} from "./commands/EnableTopicRuleCommand";
import {
  GetBehaviorModelTrainingSummariesCommandInput,
  GetBehaviorModelTrainingSummariesCommandOutput,
} from "./commands/GetBehaviorModelTrainingSummariesCommand";
import {
  GetBucketsAggregationCommandInput,
  GetBucketsAggregationCommandOutput,
} from "./commands/GetBucketsAggregationCommand";
import {
  GetCardinalityCommandInput,
  GetCardinalityCommandOutput,
} from "./commands/GetCardinalityCommand";
import {
  GetEffectivePoliciesCommandInput,
  GetEffectivePoliciesCommandOutput,
} from "./commands/GetEffectivePoliciesCommand";
import {
  GetIndexingConfigurationCommandInput,
  GetIndexingConfigurationCommandOutput,
} from "./commands/GetIndexingConfigurationCommand";
import {
  GetJobDocumentCommandInput,
  GetJobDocumentCommandOutput,
} from "./commands/GetJobDocumentCommand";
import {
  GetLoggingOptionsCommandInput,
  GetLoggingOptionsCommandOutput,
} from "./commands/GetLoggingOptionsCommand";
import {
  GetOTAUpdateCommandInput,
  GetOTAUpdateCommandOutput,
} from "./commands/GetOTAUpdateCommand";
import {
  GetPackageCommandInput,
  GetPackageCommandOutput,
} from "./commands/GetPackageCommand";
import {
  GetPackageConfigurationCommandInput,
  GetPackageConfigurationCommandOutput,
} from "./commands/GetPackageConfigurationCommand";
import {
  GetPackageVersionCommandInput,
  GetPackageVersionCommandOutput,
} from "./commands/GetPackageVersionCommand";
import {
  GetPercentilesCommandInput,
  GetPercentilesCommandOutput,
} from "./commands/GetPercentilesCommand";
import {
  GetPolicyCommandInput,
  GetPolicyCommandOutput,
} from "./commands/GetPolicyCommand";
import {
  GetPolicyVersionCommandInput,
  GetPolicyVersionCommandOutput,
} from "./commands/GetPolicyVersionCommand";
import {
  GetRegistrationCodeCommandInput,
  GetRegistrationCodeCommandOutput,
} from "./commands/GetRegistrationCodeCommand";
import {
  GetStatisticsCommandInput,
  GetStatisticsCommandOutput,
} from "./commands/GetStatisticsCommand";
import {
  GetTopicRuleCommandInput,
  GetTopicRuleCommandOutput,
} from "./commands/GetTopicRuleCommand";
import {
  GetTopicRuleDestinationCommandInput,
  GetTopicRuleDestinationCommandOutput,
} from "./commands/GetTopicRuleDestinationCommand";
import {
  GetV2LoggingOptionsCommandInput,
  GetV2LoggingOptionsCommandOutput,
} from "./commands/GetV2LoggingOptionsCommand";
import {
  ListActiveViolationsCommandInput,
  ListActiveViolationsCommandOutput,
} from "./commands/ListActiveViolationsCommand";
import {
  ListAttachedPoliciesCommandInput,
  ListAttachedPoliciesCommandOutput,
} from "./commands/ListAttachedPoliciesCommand";
import {
  ListAuditFindingsCommandInput,
  ListAuditFindingsCommandOutput,
} from "./commands/ListAuditFindingsCommand";
import {
  ListAuditMitigationActionsExecutionsCommandInput,
  ListAuditMitigationActionsExecutionsCommandOutput,
} from "./commands/ListAuditMitigationActionsExecutionsCommand";
import {
  ListAuditMitigationActionsTasksCommandInput,
  ListAuditMitigationActionsTasksCommandOutput,
} from "./commands/ListAuditMitigationActionsTasksCommand";
import {
  ListAuditSuppressionsCommandInput,
  ListAuditSuppressionsCommandOutput,
} from "./commands/ListAuditSuppressionsCommand";
import {
  ListAuditTasksCommandInput,
  ListAuditTasksCommandOutput,
} from "./commands/ListAuditTasksCommand";
import {
  ListAuthorizersCommandInput,
  ListAuthorizersCommandOutput,
} from "./commands/ListAuthorizersCommand";
import {
  ListBillingGroupsCommandInput,
  ListBillingGroupsCommandOutput,
} from "./commands/ListBillingGroupsCommand";
import {
  ListCACertificatesCommandInput,
  ListCACertificatesCommandOutput,
} from "./commands/ListCACertificatesCommand";
import {
  ListCertificateProvidersCommandInput,
  ListCertificateProvidersCommandOutput,
} from "./commands/ListCertificateProvidersCommand";
import {
  ListCertificatesByCACommandInput,
  ListCertificatesByCACommandOutput,
} from "./commands/ListCertificatesByCACommand";
import {
  ListCertificatesCommandInput,
  ListCertificatesCommandOutput,
} from "./commands/ListCertificatesCommand";
import {
  ListCustomMetricsCommandInput,
  ListCustomMetricsCommandOutput,
} from "./commands/ListCustomMetricsCommand";
import {
  ListDetectMitigationActionsExecutionsCommandInput,
  ListDetectMitigationActionsExecutionsCommandOutput,
} from "./commands/ListDetectMitigationActionsExecutionsCommand";
import {
  ListDetectMitigationActionsTasksCommandInput,
  ListDetectMitigationActionsTasksCommandOutput,
} from "./commands/ListDetectMitigationActionsTasksCommand";
import {
  ListDimensionsCommandInput,
  ListDimensionsCommandOutput,
} from "./commands/ListDimensionsCommand";
import {
  ListDomainConfigurationsCommandInput,
  ListDomainConfigurationsCommandOutput,
} from "./commands/ListDomainConfigurationsCommand";
import {
  ListFleetMetricsCommandInput,
  ListFleetMetricsCommandOutput,
} from "./commands/ListFleetMetricsCommand";
import {
  ListIndicesCommandInput,
  ListIndicesCommandOutput,
} from "./commands/ListIndicesCommand";
import {
  ListJobExecutionsForJobCommandInput,
  ListJobExecutionsForJobCommandOutput,
} from "./commands/ListJobExecutionsForJobCommand";
import {
  ListJobExecutionsForThingCommandInput,
  ListJobExecutionsForThingCommandOutput,
} from "./commands/ListJobExecutionsForThingCommand";
import {
  ListJobsCommandInput,
  ListJobsCommandOutput,
} from "./commands/ListJobsCommand";
import {
  ListJobTemplatesCommandInput,
  ListJobTemplatesCommandOutput,
} from "./commands/ListJobTemplatesCommand";
import {
  ListManagedJobTemplatesCommandInput,
  ListManagedJobTemplatesCommandOutput,
} from "./commands/ListManagedJobTemplatesCommand";
import {
  ListMetricValuesCommandInput,
  ListMetricValuesCommandOutput,
} from "./commands/ListMetricValuesCommand";
import {
  ListMitigationActionsCommandInput,
  ListMitigationActionsCommandOutput,
} from "./commands/ListMitigationActionsCommand";
import {
  ListOTAUpdatesCommandInput,
  ListOTAUpdatesCommandOutput,
} from "./commands/ListOTAUpdatesCommand";
import {
  ListOutgoingCertificatesCommandInput,
  ListOutgoingCertificatesCommandOutput,
} from "./commands/ListOutgoingCertificatesCommand";
import {
  ListPackagesCommandInput,
  ListPackagesCommandOutput,
} from "./commands/ListPackagesCommand";
import {
  ListPackageVersionsCommandInput,
  ListPackageVersionsCommandOutput,
} from "./commands/ListPackageVersionsCommand";
import {
  ListPoliciesCommandInput,
  ListPoliciesCommandOutput,
} from "./commands/ListPoliciesCommand";
import {
  ListPolicyPrincipalsCommandInput,
  ListPolicyPrincipalsCommandOutput,
} from "./commands/ListPolicyPrincipalsCommand";
import {
  ListPolicyVersionsCommandInput,
  ListPolicyVersionsCommandOutput,
} from "./commands/ListPolicyVersionsCommand";
import {
  ListPrincipalPoliciesCommandInput,
  ListPrincipalPoliciesCommandOutput,
} from "./commands/ListPrincipalPoliciesCommand";
import {
  ListPrincipalThingsCommandInput,
  ListPrincipalThingsCommandOutput,
} from "./commands/ListPrincipalThingsCommand";
import {
  ListProvisioningTemplatesCommandInput,
  ListProvisioningTemplatesCommandOutput,
} from "./commands/ListProvisioningTemplatesCommand";
import {
  ListProvisioningTemplateVersionsCommandInput,
  ListProvisioningTemplateVersionsCommandOutput,
} from "./commands/ListProvisioningTemplateVersionsCommand";
import {
  ListRelatedResourcesForAuditFindingCommandInput,
  ListRelatedResourcesForAuditFindingCommandOutput,
} from "./commands/ListRelatedResourcesForAuditFindingCommand";
import {
  ListRoleAliasesCommandInput,
  ListRoleAliasesCommandOutput,
} from "./commands/ListRoleAliasesCommand";
import {
  ListScheduledAuditsCommandInput,
  ListScheduledAuditsCommandOutput,
} from "./commands/ListScheduledAuditsCommand";
import {
  ListSecurityProfilesCommandInput,
  ListSecurityProfilesCommandOutput,
} from "./commands/ListSecurityProfilesCommand";
import {
  ListSecurityProfilesForTargetCommandInput,
  ListSecurityProfilesForTargetCommandOutput,
} from "./commands/ListSecurityProfilesForTargetCommand";
import {
  ListStreamsCommandInput,
  ListStreamsCommandOutput,
} from "./commands/ListStreamsCommand";
import {
  ListTagsForResourceCommandInput,
  ListTagsForResourceCommandOutput,
} from "./commands/ListTagsForResourceCommand";
import {
  ListTargetsForPolicyCommandInput,
  ListTargetsForPolicyCommandOutput,
} from "./commands/ListTargetsForPolicyCommand";
import {
  ListTargetsForSecurityProfileCommandInput,
  ListTargetsForSecurityProfileCommandOutput,
} from "./commands/ListTargetsForSecurityProfileCommand";
import {
  ListThingGroupsCommandInput,
  ListThingGroupsCommandOutput,
} from "./commands/ListThingGroupsCommand";
import {
  ListThingGroupsForThingCommandInput,
  ListThingGroupsForThingCommandOutput,
} from "./commands/ListThingGroupsForThingCommand";
import {
  ListThingPrincipalsCommandInput,
  ListThingPrincipalsCommandOutput,
} from "./commands/ListThingPrincipalsCommand";
import {
  ListThingRegistrationTaskReportsCommandInput,
  ListThingRegistrationTaskReportsCommandOutput,
} from "./commands/ListThingRegistrationTaskReportsCommand";
import {
  ListThingRegistrationTasksCommandInput,
  ListThingRegistrationTasksCommandOutput,
} from "./commands/ListThingRegistrationTasksCommand";
import {
  ListThingsCommandInput,
  ListThingsCommandOutput,
} from "./commands/ListThingsCommand";
import {
  ListThingsInBillingGroupCommandInput,
  ListThingsInBillingGroupCommandOutput,
} from "./commands/ListThingsInBillingGroupCommand";
import {
  ListThingsInThingGroupCommandInput,
  ListThingsInThingGroupCommandOutput,
} from "./commands/ListThingsInThingGroupCommand";
import {
  ListThingTypesCommandInput,
  ListThingTypesCommandOutput,
} from "./commands/ListThingTypesCommand";
import {
  ListTopicRuleDestinationsCommandInput,
  ListTopicRuleDestinationsCommandOutput,
} from "./commands/ListTopicRuleDestinationsCommand";
import {
  ListTopicRulesCommandInput,
  ListTopicRulesCommandOutput,
} from "./commands/ListTopicRulesCommand";
import {
  ListV2LoggingLevelsCommandInput,
  ListV2LoggingLevelsCommandOutput,
} from "./commands/ListV2LoggingLevelsCommand";
import {
  ListViolationEventsCommandInput,
  ListViolationEventsCommandOutput,
} from "./commands/ListViolationEventsCommand";
import {
  PutVerificationStateOnViolationCommandInput,
  PutVerificationStateOnViolationCommandOutput,
} from "./commands/PutVerificationStateOnViolationCommand";
import {
  RegisterCACertificateCommandInput,
  RegisterCACertificateCommandOutput,
} from "./commands/RegisterCACertificateCommand";
import {
  RegisterCertificateCommandInput,
  RegisterCertificateCommandOutput,
} from "./commands/RegisterCertificateCommand";
import {
  RegisterCertificateWithoutCACommandInput,
  RegisterCertificateWithoutCACommandOutput,
} from "./commands/RegisterCertificateWithoutCACommand";
import {
  RegisterThingCommandInput,
  RegisterThingCommandOutput,
} from "./commands/RegisterThingCommand";
import {
  RejectCertificateTransferCommandInput,
  RejectCertificateTransferCommandOutput,
} from "./commands/RejectCertificateTransferCommand";
import {
  RemoveThingFromBillingGroupCommandInput,
  RemoveThingFromBillingGroupCommandOutput,
} from "./commands/RemoveThingFromBillingGroupCommand";
import {
  RemoveThingFromThingGroupCommandInput,
  RemoveThingFromThingGroupCommandOutput,
} from "./commands/RemoveThingFromThingGroupCommand";
import {
  ReplaceTopicRuleCommandInput,
  ReplaceTopicRuleCommandOutput,
} from "./commands/ReplaceTopicRuleCommand";
import {
  SearchIndexCommandInput,
  SearchIndexCommandOutput,
} from "./commands/SearchIndexCommand";
import {
  SetDefaultAuthorizerCommandInput,
  SetDefaultAuthorizerCommandOutput,
} from "./commands/SetDefaultAuthorizerCommand";
import {
  SetDefaultPolicyVersionCommandInput,
  SetDefaultPolicyVersionCommandOutput,
} from "./commands/SetDefaultPolicyVersionCommand";
import {
  SetLoggingOptionsCommandInput,
  SetLoggingOptionsCommandOutput,
} from "./commands/SetLoggingOptionsCommand";
import {
  SetV2LoggingLevelCommandInput,
  SetV2LoggingLevelCommandOutput,
} from "./commands/SetV2LoggingLevelCommand";
import {
  SetV2LoggingOptionsCommandInput,
  SetV2LoggingOptionsCommandOutput,
} from "./commands/SetV2LoggingOptionsCommand";
import {
  StartAuditMitigationActionsTaskCommandInput,
  StartAuditMitigationActionsTaskCommandOutput,
} from "./commands/StartAuditMitigationActionsTaskCommand";
import {
  StartDetectMitigationActionsTaskCommandInput,
  StartDetectMitigationActionsTaskCommandOutput,
} from "./commands/StartDetectMitigationActionsTaskCommand";
import {
  StartOnDemandAuditTaskCommandInput,
  StartOnDemandAuditTaskCommandOutput,
} from "./commands/StartOnDemandAuditTaskCommand";
import {
  StartThingRegistrationTaskCommandInput,
  StartThingRegistrationTaskCommandOutput,
} from "./commands/StartThingRegistrationTaskCommand";
import {
  StopThingRegistrationTaskCommandInput,
  StopThingRegistrationTaskCommandOutput,
} from "./commands/StopThingRegistrationTaskCommand";
import {
  TagResourceCommandInput,
  TagResourceCommandOutput,
} from "./commands/TagResourceCommand";
import {
  TestAuthorizationCommandInput,
  TestAuthorizationCommandOutput,
} from "./commands/TestAuthorizationCommand";
import {
  TestInvokeAuthorizerCommandInput,
  TestInvokeAuthorizerCommandOutput,
} from "./commands/TestInvokeAuthorizerCommand";
import {
  TransferCertificateCommandInput,
  TransferCertificateCommandOutput,
} from "./commands/TransferCertificateCommand";
import {
  UntagResourceCommandInput,
  UntagResourceCommandOutput,
} from "./commands/UntagResourceCommand";
import {
  UpdateAccountAuditConfigurationCommandInput,
  UpdateAccountAuditConfigurationCommandOutput,
} from "./commands/UpdateAccountAuditConfigurationCommand";
import {
  UpdateAuditSuppressionCommandInput,
  UpdateAuditSuppressionCommandOutput,
} from "./commands/UpdateAuditSuppressionCommand";
import {
  UpdateAuthorizerCommandInput,
  UpdateAuthorizerCommandOutput,
} from "./commands/UpdateAuthorizerCommand";
import {
  UpdateBillingGroupCommandInput,
  UpdateBillingGroupCommandOutput,
} from "./commands/UpdateBillingGroupCommand";
import {
  UpdateCACertificateCommandInput,
  UpdateCACertificateCommandOutput,
} from "./commands/UpdateCACertificateCommand";
import {
  UpdateCertificateCommandInput,
  UpdateCertificateCommandOutput,
} from "./commands/UpdateCertificateCommand";
import {
  UpdateCertificateProviderCommandInput,
  UpdateCertificateProviderCommandOutput,
} from "./commands/UpdateCertificateProviderCommand";
import {
  UpdateCustomMetricCommandInput,
  UpdateCustomMetricCommandOutput,
} from "./commands/UpdateCustomMetricCommand";
import {
  UpdateDimensionCommandInput,
  UpdateDimensionCommandOutput,
} from "./commands/UpdateDimensionCommand";
import {
  UpdateDomainConfigurationCommandInput,
  UpdateDomainConfigurationCommandOutput,
} from "./commands/UpdateDomainConfigurationCommand";
import {
  UpdateDynamicThingGroupCommandInput,
  UpdateDynamicThingGroupCommandOutput,
} from "./commands/UpdateDynamicThingGroupCommand";
import {
  UpdateEventConfigurationsCommandInput,
  UpdateEventConfigurationsCommandOutput,
} from "./commands/UpdateEventConfigurationsCommand";
import {
  UpdateFleetMetricCommandInput,
  UpdateFleetMetricCommandOutput,
} from "./commands/UpdateFleetMetricCommand";
import {
  UpdateIndexingConfigurationCommandInput,
  UpdateIndexingConfigurationCommandOutput,
} from "./commands/UpdateIndexingConfigurationCommand";
import {
  UpdateJobCommandInput,
  UpdateJobCommandOutput,
} from "./commands/UpdateJobCommand";
import {
  UpdateMitigationActionCommandInput,
  UpdateMitigationActionCommandOutput,
} from "./commands/UpdateMitigationActionCommand";
import {
  UpdatePackageCommandInput,
  UpdatePackageCommandOutput,
} from "./commands/UpdatePackageCommand";
import {
  UpdatePackageConfigurationCommandInput,
  UpdatePackageConfigurationCommandOutput,
} from "./commands/UpdatePackageConfigurationCommand";
import {
  UpdatePackageVersionCommandInput,
  UpdatePackageVersionCommandOutput,
} from "./commands/UpdatePackageVersionCommand";
import {
  UpdateProvisioningTemplateCommandInput,
  UpdateProvisioningTemplateCommandOutput,
} from "./commands/UpdateProvisioningTemplateCommand";
import {
  UpdateRoleAliasCommandInput,
  UpdateRoleAliasCommandOutput,
} from "./commands/UpdateRoleAliasCommand";
import {
  UpdateScheduledAuditCommandInput,
  UpdateScheduledAuditCommandOutput,
} from "./commands/UpdateScheduledAuditCommand";
import {
  UpdateSecurityProfileCommandInput,
  UpdateSecurityProfileCommandOutput,
} from "./commands/UpdateSecurityProfileCommand";
import {
  UpdateStreamCommandInput,
  UpdateStreamCommandOutput,
} from "./commands/UpdateStreamCommand";
import {
  UpdateThingCommandInput,
  UpdateThingCommandOutput,
} from "./commands/UpdateThingCommand";
import {
  UpdateThingGroupCommandInput,
  UpdateThingGroupCommandOutput,
} from "./commands/UpdateThingGroupCommand";
import {
  UpdateThingGroupsForThingCommandInput,
  UpdateThingGroupsForThingCommandOutput,
} from "./commands/UpdateThingGroupsForThingCommand";
import {
  UpdateTopicRuleDestinationCommandInput,
  UpdateTopicRuleDestinationCommandOutput,
} from "./commands/UpdateTopicRuleDestinationCommand";
import {
  ValidateSecurityProfileBehaviorsCommandInput,
  ValidateSecurityProfileBehaviorsCommandOutput,
} from "./commands/ValidateSecurityProfileBehaviorsCommand";
import { IoTClient } from "./IoTClient";
export interface IoT {
  acceptCertificateTransfer(
    args: AcceptCertificateTransferCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AcceptCertificateTransferCommandOutput>;
  acceptCertificateTransfer(
    args: AcceptCertificateTransferCommandInput,
    cb: (err: any, data?: AcceptCertificateTransferCommandOutput) => void
  ): void;
  acceptCertificateTransfer(
    args: AcceptCertificateTransferCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AcceptCertificateTransferCommandOutput) => void
  ): void;
  addThingToBillingGroup(): Promise<AddThingToBillingGroupCommandOutput>;
  addThingToBillingGroup(
    args: AddThingToBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AddThingToBillingGroupCommandOutput>;
  addThingToBillingGroup(
    args: AddThingToBillingGroupCommandInput,
    cb: (err: any, data?: AddThingToBillingGroupCommandOutput) => void
  ): void;
  addThingToBillingGroup(
    args: AddThingToBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AddThingToBillingGroupCommandOutput) => void
  ): void;
  addThingToThingGroup(): Promise<AddThingToThingGroupCommandOutput>;
  addThingToThingGroup(
    args: AddThingToThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AddThingToThingGroupCommandOutput>;
  addThingToThingGroup(
    args: AddThingToThingGroupCommandInput,
    cb: (err: any, data?: AddThingToThingGroupCommandOutput) => void
  ): void;
  addThingToThingGroup(
    args: AddThingToThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AddThingToThingGroupCommandOutput) => void
  ): void;
  associateTargetsWithJob(
    args: AssociateTargetsWithJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AssociateTargetsWithJobCommandOutput>;
  associateTargetsWithJob(
    args: AssociateTargetsWithJobCommandInput,
    cb: (err: any, data?: AssociateTargetsWithJobCommandOutput) => void
  ): void;
  associateTargetsWithJob(
    args: AssociateTargetsWithJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AssociateTargetsWithJobCommandOutput) => void
  ): void;
  attachPolicy(
    args: AttachPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AttachPolicyCommandOutput>;
  attachPolicy(
    args: AttachPolicyCommandInput,
    cb: (err: any, data?: AttachPolicyCommandOutput) => void
  ): void;
  attachPolicy(
    args: AttachPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AttachPolicyCommandOutput) => void
  ): void;
  attachPrincipalPolicy(
    args: AttachPrincipalPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AttachPrincipalPolicyCommandOutput>;
  attachPrincipalPolicy(
    args: AttachPrincipalPolicyCommandInput,
    cb: (err: any, data?: AttachPrincipalPolicyCommandOutput) => void
  ): void;
  attachPrincipalPolicy(
    args: AttachPrincipalPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AttachPrincipalPolicyCommandOutput) => void
  ): void;
  attachSecurityProfile(
    args: AttachSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AttachSecurityProfileCommandOutput>;
  attachSecurityProfile(
    args: AttachSecurityProfileCommandInput,
    cb: (err: any, data?: AttachSecurityProfileCommandOutput) => void
  ): void;
  attachSecurityProfile(
    args: AttachSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AttachSecurityProfileCommandOutput) => void
  ): void;
  attachThingPrincipal(
    args: AttachThingPrincipalCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<AttachThingPrincipalCommandOutput>;
  attachThingPrincipal(
    args: AttachThingPrincipalCommandInput,
    cb: (err: any, data?: AttachThingPrincipalCommandOutput) => void
  ): void;
  attachThingPrincipal(
    args: AttachThingPrincipalCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: AttachThingPrincipalCommandOutput) => void
  ): void;
  cancelAuditMitigationActionsTask(
    args: CancelAuditMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelAuditMitigationActionsTaskCommandOutput>;
  cancelAuditMitigationActionsTask(
    args: CancelAuditMitigationActionsTaskCommandInput,
    cb: (err: any, data?: CancelAuditMitigationActionsTaskCommandOutput) => void
  ): void;
  cancelAuditMitigationActionsTask(
    args: CancelAuditMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CancelAuditMitigationActionsTaskCommandOutput) => void
  ): void;
  cancelAuditTask(
    args: CancelAuditTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelAuditTaskCommandOutput>;
  cancelAuditTask(
    args: CancelAuditTaskCommandInput,
    cb: (err: any, data?: CancelAuditTaskCommandOutput) => void
  ): void;
  cancelAuditTask(
    args: CancelAuditTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CancelAuditTaskCommandOutput) => void
  ): void;
  cancelCertificateTransfer(
    args: CancelCertificateTransferCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelCertificateTransferCommandOutput>;
  cancelCertificateTransfer(
    args: CancelCertificateTransferCommandInput,
    cb: (err: any, data?: CancelCertificateTransferCommandOutput) => void
  ): void;
  cancelCertificateTransfer(
    args: CancelCertificateTransferCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CancelCertificateTransferCommandOutput) => void
  ): void;
  cancelDetectMitigationActionsTask(
    args: CancelDetectMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelDetectMitigationActionsTaskCommandOutput>;
  cancelDetectMitigationActionsTask(
    args: CancelDetectMitigationActionsTaskCommandInput,
    cb: (
      err: any,
      data?: CancelDetectMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  cancelDetectMitigationActionsTask(
    args: CancelDetectMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: CancelDetectMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  cancelJob(
    args: CancelJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelJobCommandOutput>;
  cancelJob(
    args: CancelJobCommandInput,
    cb: (err: any, data?: CancelJobCommandOutput) => void
  ): void;
  cancelJob(
    args: CancelJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CancelJobCommandOutput) => void
  ): void;
  cancelJobExecution(
    args: CancelJobExecutionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CancelJobExecutionCommandOutput>;
  cancelJobExecution(
    args: CancelJobExecutionCommandInput,
    cb: (err: any, data?: CancelJobExecutionCommandOutput) => void
  ): void;
  cancelJobExecution(
    args: CancelJobExecutionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CancelJobExecutionCommandOutput) => void
  ): void;
  clearDefaultAuthorizer(): Promise<ClearDefaultAuthorizerCommandOutput>;
  clearDefaultAuthorizer(
    args: ClearDefaultAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ClearDefaultAuthorizerCommandOutput>;
  clearDefaultAuthorizer(
    args: ClearDefaultAuthorizerCommandInput,
    cb: (err: any, data?: ClearDefaultAuthorizerCommandOutput) => void
  ): void;
  clearDefaultAuthorizer(
    args: ClearDefaultAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ClearDefaultAuthorizerCommandOutput) => void
  ): void;
  confirmTopicRuleDestination(
    args: ConfirmTopicRuleDestinationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ConfirmTopicRuleDestinationCommandOutput>;
  confirmTopicRuleDestination(
    args: ConfirmTopicRuleDestinationCommandInput,
    cb: (err: any, data?: ConfirmTopicRuleDestinationCommandOutput) => void
  ): void;
  confirmTopicRuleDestination(
    args: ConfirmTopicRuleDestinationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ConfirmTopicRuleDestinationCommandOutput) => void
  ): void;
  createAuditSuppression(
    args: CreateAuditSuppressionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateAuditSuppressionCommandOutput>;
  createAuditSuppression(
    args: CreateAuditSuppressionCommandInput,
    cb: (err: any, data?: CreateAuditSuppressionCommandOutput) => void
  ): void;
  createAuditSuppression(
    args: CreateAuditSuppressionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateAuditSuppressionCommandOutput) => void
  ): void;
  createAuthorizer(
    args: CreateAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateAuthorizerCommandOutput>;
  createAuthorizer(
    args: CreateAuthorizerCommandInput,
    cb: (err: any, data?: CreateAuthorizerCommandOutput) => void
  ): void;
  createAuthorizer(
    args: CreateAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateAuthorizerCommandOutput) => void
  ): void;
  createBillingGroup(
    args: CreateBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateBillingGroupCommandOutput>;
  createBillingGroup(
    args: CreateBillingGroupCommandInput,
    cb: (err: any, data?: CreateBillingGroupCommandOutput) => void
  ): void;
  createBillingGroup(
    args: CreateBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateBillingGroupCommandOutput) => void
  ): void;
  createCertificateFromCsr(
    args: CreateCertificateFromCsrCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateCertificateFromCsrCommandOutput>;
  createCertificateFromCsr(
    args: CreateCertificateFromCsrCommandInput,
    cb: (err: any, data?: CreateCertificateFromCsrCommandOutput) => void
  ): void;
  createCertificateFromCsr(
    args: CreateCertificateFromCsrCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateCertificateFromCsrCommandOutput) => void
  ): void;
  createCertificateProvider(
    args: CreateCertificateProviderCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateCertificateProviderCommandOutput>;
  createCertificateProvider(
    args: CreateCertificateProviderCommandInput,
    cb: (err: any, data?: CreateCertificateProviderCommandOutput) => void
  ): void;
  createCertificateProvider(
    args: CreateCertificateProviderCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateCertificateProviderCommandOutput) => void
  ): void;
  createCustomMetric(
    args: CreateCustomMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateCustomMetricCommandOutput>;
  createCustomMetric(
    args: CreateCustomMetricCommandInput,
    cb: (err: any, data?: CreateCustomMetricCommandOutput) => void
  ): void;
  createCustomMetric(
    args: CreateCustomMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateCustomMetricCommandOutput) => void
  ): void;
  createDimension(
    args: CreateDimensionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDimensionCommandOutput>;
  createDimension(
    args: CreateDimensionCommandInput,
    cb: (err: any, data?: CreateDimensionCommandOutput) => void
  ): void;
  createDimension(
    args: CreateDimensionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDimensionCommandOutput) => void
  ): void;
  createDomainConfiguration(
    args: CreateDomainConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDomainConfigurationCommandOutput>;
  createDomainConfiguration(
    args: CreateDomainConfigurationCommandInput,
    cb: (err: any, data?: CreateDomainConfigurationCommandOutput) => void
  ): void;
  createDomainConfiguration(
    args: CreateDomainConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDomainConfigurationCommandOutput) => void
  ): void;
  createDynamicThingGroup(
    args: CreateDynamicThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateDynamicThingGroupCommandOutput>;
  createDynamicThingGroup(
    args: CreateDynamicThingGroupCommandInput,
    cb: (err: any, data?: CreateDynamicThingGroupCommandOutput) => void
  ): void;
  createDynamicThingGroup(
    args: CreateDynamicThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateDynamicThingGroupCommandOutput) => void
  ): void;
  createFleetMetric(
    args: CreateFleetMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateFleetMetricCommandOutput>;
  createFleetMetric(
    args: CreateFleetMetricCommandInput,
    cb: (err: any, data?: CreateFleetMetricCommandOutput) => void
  ): void;
  createFleetMetric(
    args: CreateFleetMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateFleetMetricCommandOutput) => void
  ): void;
  createJob(
    args: CreateJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateJobCommandOutput>;
  createJob(
    args: CreateJobCommandInput,
    cb: (err: any, data?: CreateJobCommandOutput) => void
  ): void;
  createJob(
    args: CreateJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateJobCommandOutput) => void
  ): void;
  createJobTemplate(
    args: CreateJobTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateJobTemplateCommandOutput>;
  createJobTemplate(
    args: CreateJobTemplateCommandInput,
    cb: (err: any, data?: CreateJobTemplateCommandOutput) => void
  ): void;
  createJobTemplate(
    args: CreateJobTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateJobTemplateCommandOutput) => void
  ): void;
  createKeysAndCertificate(): Promise<CreateKeysAndCertificateCommandOutput>;
  createKeysAndCertificate(
    args: CreateKeysAndCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateKeysAndCertificateCommandOutput>;
  createKeysAndCertificate(
    args: CreateKeysAndCertificateCommandInput,
    cb: (err: any, data?: CreateKeysAndCertificateCommandOutput) => void
  ): void;
  createKeysAndCertificate(
    args: CreateKeysAndCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateKeysAndCertificateCommandOutput) => void
  ): void;
  createMitigationAction(
    args: CreateMitigationActionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateMitigationActionCommandOutput>;
  createMitigationAction(
    args: CreateMitigationActionCommandInput,
    cb: (err: any, data?: CreateMitigationActionCommandOutput) => void
  ): void;
  createMitigationAction(
    args: CreateMitigationActionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateMitigationActionCommandOutput) => void
  ): void;
  createOTAUpdate(
    args: CreateOTAUpdateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateOTAUpdateCommandOutput>;
  createOTAUpdate(
    args: CreateOTAUpdateCommandInput,
    cb: (err: any, data?: CreateOTAUpdateCommandOutput) => void
  ): void;
  createOTAUpdate(
    args: CreateOTAUpdateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateOTAUpdateCommandOutput) => void
  ): void;
  createPackage(
    args: CreatePackageCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreatePackageCommandOutput>;
  createPackage(
    args: CreatePackageCommandInput,
    cb: (err: any, data?: CreatePackageCommandOutput) => void
  ): void;
  createPackage(
    args: CreatePackageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreatePackageCommandOutput) => void
  ): void;
  createPackageVersion(
    args: CreatePackageVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreatePackageVersionCommandOutput>;
  createPackageVersion(
    args: CreatePackageVersionCommandInput,
    cb: (err: any, data?: CreatePackageVersionCommandOutput) => void
  ): void;
  createPackageVersion(
    args: CreatePackageVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreatePackageVersionCommandOutput) => void
  ): void;
  createPolicy(
    args: CreatePolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreatePolicyCommandOutput>;
  createPolicy(
    args: CreatePolicyCommandInput,
    cb: (err: any, data?: CreatePolicyCommandOutput) => void
  ): void;
  createPolicy(
    args: CreatePolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreatePolicyCommandOutput) => void
  ): void;
  createPolicyVersion(
    args: CreatePolicyVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreatePolicyVersionCommandOutput>;
  createPolicyVersion(
    args: CreatePolicyVersionCommandInput,
    cb: (err: any, data?: CreatePolicyVersionCommandOutput) => void
  ): void;
  createPolicyVersion(
    args: CreatePolicyVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreatePolicyVersionCommandOutput) => void
  ): void;
  createProvisioningClaim(
    args: CreateProvisioningClaimCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateProvisioningClaimCommandOutput>;
  createProvisioningClaim(
    args: CreateProvisioningClaimCommandInput,
    cb: (err: any, data?: CreateProvisioningClaimCommandOutput) => void
  ): void;
  createProvisioningClaim(
    args: CreateProvisioningClaimCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateProvisioningClaimCommandOutput) => void
  ): void;
  createProvisioningTemplate(
    args: CreateProvisioningTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateProvisioningTemplateCommandOutput>;
  createProvisioningTemplate(
    args: CreateProvisioningTemplateCommandInput,
    cb: (err: any, data?: CreateProvisioningTemplateCommandOutput) => void
  ): void;
  createProvisioningTemplate(
    args: CreateProvisioningTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateProvisioningTemplateCommandOutput) => void
  ): void;
  createProvisioningTemplateVersion(
    args: CreateProvisioningTemplateVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateProvisioningTemplateVersionCommandOutput>;
  createProvisioningTemplateVersion(
    args: CreateProvisioningTemplateVersionCommandInput,
    cb: (
      err: any,
      data?: CreateProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  createProvisioningTemplateVersion(
    args: CreateProvisioningTemplateVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: CreateProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  createRoleAlias(
    args: CreateRoleAliasCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateRoleAliasCommandOutput>;
  createRoleAlias(
    args: CreateRoleAliasCommandInput,
    cb: (err: any, data?: CreateRoleAliasCommandOutput) => void
  ): void;
  createRoleAlias(
    args: CreateRoleAliasCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateRoleAliasCommandOutput) => void
  ): void;
  createScheduledAudit(
    args: CreateScheduledAuditCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateScheduledAuditCommandOutput>;
  createScheduledAudit(
    args: CreateScheduledAuditCommandInput,
    cb: (err: any, data?: CreateScheduledAuditCommandOutput) => void
  ): void;
  createScheduledAudit(
    args: CreateScheduledAuditCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateScheduledAuditCommandOutput) => void
  ): void;
  createSecurityProfile(
    args: CreateSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateSecurityProfileCommandOutput>;
  createSecurityProfile(
    args: CreateSecurityProfileCommandInput,
    cb: (err: any, data?: CreateSecurityProfileCommandOutput) => void
  ): void;
  createSecurityProfile(
    args: CreateSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateSecurityProfileCommandOutput) => void
  ): void;
  createStream(
    args: CreateStreamCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateStreamCommandOutput>;
  createStream(
    args: CreateStreamCommandInput,
    cb: (err: any, data?: CreateStreamCommandOutput) => void
  ): void;
  createStream(
    args: CreateStreamCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateStreamCommandOutput) => void
  ): void;
  createThing(
    args: CreateThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateThingCommandOutput>;
  createThing(
    args: CreateThingCommandInput,
    cb: (err: any, data?: CreateThingCommandOutput) => void
  ): void;
  createThing(
    args: CreateThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateThingCommandOutput) => void
  ): void;
  createThingGroup(
    args: CreateThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateThingGroupCommandOutput>;
  createThingGroup(
    args: CreateThingGroupCommandInput,
    cb: (err: any, data?: CreateThingGroupCommandOutput) => void
  ): void;
  createThingGroup(
    args: CreateThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateThingGroupCommandOutput) => void
  ): void;
  createThingType(
    args: CreateThingTypeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateThingTypeCommandOutput>;
  createThingType(
    args: CreateThingTypeCommandInput,
    cb: (err: any, data?: CreateThingTypeCommandOutput) => void
  ): void;
  createThingType(
    args: CreateThingTypeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateThingTypeCommandOutput) => void
  ): void;
  createTopicRule(
    args: CreateTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateTopicRuleCommandOutput>;
  createTopicRule(
    args: CreateTopicRuleCommandInput,
    cb: (err: any, data?: CreateTopicRuleCommandOutput) => void
  ): void;
  createTopicRule(
    args: CreateTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateTopicRuleCommandOutput) => void
  ): void;
  createTopicRuleDestination(
    args: CreateTopicRuleDestinationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<CreateTopicRuleDestinationCommandOutput>;
  createTopicRuleDestination(
    args: CreateTopicRuleDestinationCommandInput,
    cb: (err: any, data?: CreateTopicRuleDestinationCommandOutput) => void
  ): void;
  createTopicRuleDestination(
    args: CreateTopicRuleDestinationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: CreateTopicRuleDestinationCommandOutput) => void
  ): void;
  deleteAccountAuditConfiguration(): Promise<DeleteAccountAuditConfigurationCommandOutput>;
  deleteAccountAuditConfiguration(
    args: DeleteAccountAuditConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteAccountAuditConfigurationCommandOutput>;
  deleteAccountAuditConfiguration(
    args: DeleteAccountAuditConfigurationCommandInput,
    cb: (err: any, data?: DeleteAccountAuditConfigurationCommandOutput) => void
  ): void;
  deleteAccountAuditConfiguration(
    args: DeleteAccountAuditConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteAccountAuditConfigurationCommandOutput) => void
  ): void;
  deleteAuditSuppression(
    args: DeleteAuditSuppressionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteAuditSuppressionCommandOutput>;
  deleteAuditSuppression(
    args: DeleteAuditSuppressionCommandInput,
    cb: (err: any, data?: DeleteAuditSuppressionCommandOutput) => void
  ): void;
  deleteAuditSuppression(
    args: DeleteAuditSuppressionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteAuditSuppressionCommandOutput) => void
  ): void;
  deleteAuthorizer(
    args: DeleteAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteAuthorizerCommandOutput>;
  deleteAuthorizer(
    args: DeleteAuthorizerCommandInput,
    cb: (err: any, data?: DeleteAuthorizerCommandOutput) => void
  ): void;
  deleteAuthorizer(
    args: DeleteAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteAuthorizerCommandOutput) => void
  ): void;
  deleteBillingGroup(
    args: DeleteBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteBillingGroupCommandOutput>;
  deleteBillingGroup(
    args: DeleteBillingGroupCommandInput,
    cb: (err: any, data?: DeleteBillingGroupCommandOutput) => void
  ): void;
  deleteBillingGroup(
    args: DeleteBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteBillingGroupCommandOutput) => void
  ): void;
  deleteCACertificate(
    args: DeleteCACertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteCACertificateCommandOutput>;
  deleteCACertificate(
    args: DeleteCACertificateCommandInput,
    cb: (err: any, data?: DeleteCACertificateCommandOutput) => void
  ): void;
  deleteCACertificate(
    args: DeleteCACertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteCACertificateCommandOutput) => void
  ): void;
  deleteCertificate(
    args: DeleteCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteCertificateCommandOutput>;
  deleteCertificate(
    args: DeleteCertificateCommandInput,
    cb: (err: any, data?: DeleteCertificateCommandOutput) => void
  ): void;
  deleteCertificate(
    args: DeleteCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteCertificateCommandOutput) => void
  ): void;
  deleteCertificateProvider(
    args: DeleteCertificateProviderCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteCertificateProviderCommandOutput>;
  deleteCertificateProvider(
    args: DeleteCertificateProviderCommandInput,
    cb: (err: any, data?: DeleteCertificateProviderCommandOutput) => void
  ): void;
  deleteCertificateProvider(
    args: DeleteCertificateProviderCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteCertificateProviderCommandOutput) => void
  ): void;
  deleteCustomMetric(
    args: DeleteCustomMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteCustomMetricCommandOutput>;
  deleteCustomMetric(
    args: DeleteCustomMetricCommandInput,
    cb: (err: any, data?: DeleteCustomMetricCommandOutput) => void
  ): void;
  deleteCustomMetric(
    args: DeleteCustomMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteCustomMetricCommandOutput) => void
  ): void;
  deleteDimension(
    args: DeleteDimensionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteDimensionCommandOutput>;
  deleteDimension(
    args: DeleteDimensionCommandInput,
    cb: (err: any, data?: DeleteDimensionCommandOutput) => void
  ): void;
  deleteDimension(
    args: DeleteDimensionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteDimensionCommandOutput) => void
  ): void;
  deleteDomainConfiguration(
    args: DeleteDomainConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteDomainConfigurationCommandOutput>;
  deleteDomainConfiguration(
    args: DeleteDomainConfigurationCommandInput,
    cb: (err: any, data?: DeleteDomainConfigurationCommandOutput) => void
  ): void;
  deleteDomainConfiguration(
    args: DeleteDomainConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteDomainConfigurationCommandOutput) => void
  ): void;
  deleteDynamicThingGroup(
    args: DeleteDynamicThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteDynamicThingGroupCommandOutput>;
  deleteDynamicThingGroup(
    args: DeleteDynamicThingGroupCommandInput,
    cb: (err: any, data?: DeleteDynamicThingGroupCommandOutput) => void
  ): void;
  deleteDynamicThingGroup(
    args: DeleteDynamicThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteDynamicThingGroupCommandOutput) => void
  ): void;
  deleteFleetMetric(
    args: DeleteFleetMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteFleetMetricCommandOutput>;
  deleteFleetMetric(
    args: DeleteFleetMetricCommandInput,
    cb: (err: any, data?: DeleteFleetMetricCommandOutput) => void
  ): void;
  deleteFleetMetric(
    args: DeleteFleetMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteFleetMetricCommandOutput) => void
  ): void;
  deleteJob(
    args: DeleteJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteJobCommandOutput>;
  deleteJob(
    args: DeleteJobCommandInput,
    cb: (err: any, data?: DeleteJobCommandOutput) => void
  ): void;
  deleteJob(
    args: DeleteJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteJobCommandOutput) => void
  ): void;
  deleteJobExecution(
    args: DeleteJobExecutionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteJobExecutionCommandOutput>;
  deleteJobExecution(
    args: DeleteJobExecutionCommandInput,
    cb: (err: any, data?: DeleteJobExecutionCommandOutput) => void
  ): void;
  deleteJobExecution(
    args: DeleteJobExecutionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteJobExecutionCommandOutput) => void
  ): void;
  deleteJobTemplate(
    args: DeleteJobTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteJobTemplateCommandOutput>;
  deleteJobTemplate(
    args: DeleteJobTemplateCommandInput,
    cb: (err: any, data?: DeleteJobTemplateCommandOutput) => void
  ): void;
  deleteJobTemplate(
    args: DeleteJobTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteJobTemplateCommandOutput) => void
  ): void;
  deleteMitigationAction(
    args: DeleteMitigationActionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteMitigationActionCommandOutput>;
  deleteMitigationAction(
    args: DeleteMitigationActionCommandInput,
    cb: (err: any, data?: DeleteMitigationActionCommandOutput) => void
  ): void;
  deleteMitigationAction(
    args: DeleteMitigationActionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteMitigationActionCommandOutput) => void
  ): void;
  deleteOTAUpdate(
    args: DeleteOTAUpdateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteOTAUpdateCommandOutput>;
  deleteOTAUpdate(
    args: DeleteOTAUpdateCommandInput,
    cb: (err: any, data?: DeleteOTAUpdateCommandOutput) => void
  ): void;
  deleteOTAUpdate(
    args: DeleteOTAUpdateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteOTAUpdateCommandOutput) => void
  ): void;
  deletePackage(
    args: DeletePackageCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeletePackageCommandOutput>;
  deletePackage(
    args: DeletePackageCommandInput,
    cb: (err: any, data?: DeletePackageCommandOutput) => void
  ): void;
  deletePackage(
    args: DeletePackageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeletePackageCommandOutput) => void
  ): void;
  deletePackageVersion(
    args: DeletePackageVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeletePackageVersionCommandOutput>;
  deletePackageVersion(
    args: DeletePackageVersionCommandInput,
    cb: (err: any, data?: DeletePackageVersionCommandOutput) => void
  ): void;
  deletePackageVersion(
    args: DeletePackageVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeletePackageVersionCommandOutput) => void
  ): void;
  deletePolicy(
    args: DeletePolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeletePolicyCommandOutput>;
  deletePolicy(
    args: DeletePolicyCommandInput,
    cb: (err: any, data?: DeletePolicyCommandOutput) => void
  ): void;
  deletePolicy(
    args: DeletePolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeletePolicyCommandOutput) => void
  ): void;
  deletePolicyVersion(
    args: DeletePolicyVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeletePolicyVersionCommandOutput>;
  deletePolicyVersion(
    args: DeletePolicyVersionCommandInput,
    cb: (err: any, data?: DeletePolicyVersionCommandOutput) => void
  ): void;
  deletePolicyVersion(
    args: DeletePolicyVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeletePolicyVersionCommandOutput) => void
  ): void;
  deleteProvisioningTemplate(
    args: DeleteProvisioningTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteProvisioningTemplateCommandOutput>;
  deleteProvisioningTemplate(
    args: DeleteProvisioningTemplateCommandInput,
    cb: (err: any, data?: DeleteProvisioningTemplateCommandOutput) => void
  ): void;
  deleteProvisioningTemplate(
    args: DeleteProvisioningTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteProvisioningTemplateCommandOutput) => void
  ): void;
  deleteProvisioningTemplateVersion(
    args: DeleteProvisioningTemplateVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteProvisioningTemplateVersionCommandOutput>;
  deleteProvisioningTemplateVersion(
    args: DeleteProvisioningTemplateVersionCommandInput,
    cb: (
      err: any,
      data?: DeleteProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  deleteProvisioningTemplateVersion(
    args: DeleteProvisioningTemplateVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: DeleteProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  deleteRegistrationCode(): Promise<DeleteRegistrationCodeCommandOutput>;
  deleteRegistrationCode(
    args: DeleteRegistrationCodeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteRegistrationCodeCommandOutput>;
  deleteRegistrationCode(
    args: DeleteRegistrationCodeCommandInput,
    cb: (err: any, data?: DeleteRegistrationCodeCommandOutput) => void
  ): void;
  deleteRegistrationCode(
    args: DeleteRegistrationCodeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRegistrationCodeCommandOutput) => void
  ): void;
  deleteRoleAlias(
    args: DeleteRoleAliasCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteRoleAliasCommandOutput>;
  deleteRoleAlias(
    args: DeleteRoleAliasCommandInput,
    cb: (err: any, data?: DeleteRoleAliasCommandOutput) => void
  ): void;
  deleteRoleAlias(
    args: DeleteRoleAliasCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteRoleAliasCommandOutput) => void
  ): void;
  deleteScheduledAudit(
    args: DeleteScheduledAuditCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteScheduledAuditCommandOutput>;
  deleteScheduledAudit(
    args: DeleteScheduledAuditCommandInput,
    cb: (err: any, data?: DeleteScheduledAuditCommandOutput) => void
  ): void;
  deleteScheduledAudit(
    args: DeleteScheduledAuditCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteScheduledAuditCommandOutput) => void
  ): void;
  deleteSecurityProfile(
    args: DeleteSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteSecurityProfileCommandOutput>;
  deleteSecurityProfile(
    args: DeleteSecurityProfileCommandInput,
    cb: (err: any, data?: DeleteSecurityProfileCommandOutput) => void
  ): void;
  deleteSecurityProfile(
    args: DeleteSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteSecurityProfileCommandOutput) => void
  ): void;
  deleteStream(
    args: DeleteStreamCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteStreamCommandOutput>;
  deleteStream(
    args: DeleteStreamCommandInput,
    cb: (err: any, data?: DeleteStreamCommandOutput) => void
  ): void;
  deleteStream(
    args: DeleteStreamCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteStreamCommandOutput) => void
  ): void;
  deleteThing(
    args: DeleteThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteThingCommandOutput>;
  deleteThing(
    args: DeleteThingCommandInput,
    cb: (err: any, data?: DeleteThingCommandOutput) => void
  ): void;
  deleteThing(
    args: DeleteThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteThingCommandOutput) => void
  ): void;
  deleteThingGroup(
    args: DeleteThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteThingGroupCommandOutput>;
  deleteThingGroup(
    args: DeleteThingGroupCommandInput,
    cb: (err: any, data?: DeleteThingGroupCommandOutput) => void
  ): void;
  deleteThingGroup(
    args: DeleteThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteThingGroupCommandOutput) => void
  ): void;
  deleteThingType(
    args: DeleteThingTypeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteThingTypeCommandOutput>;
  deleteThingType(
    args: DeleteThingTypeCommandInput,
    cb: (err: any, data?: DeleteThingTypeCommandOutput) => void
  ): void;
  deleteThingType(
    args: DeleteThingTypeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteThingTypeCommandOutput) => void
  ): void;
  deleteTopicRule(
    args: DeleteTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteTopicRuleCommandOutput>;
  deleteTopicRule(
    args: DeleteTopicRuleCommandInput,
    cb: (err: any, data?: DeleteTopicRuleCommandOutput) => void
  ): void;
  deleteTopicRule(
    args: DeleteTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteTopicRuleCommandOutput) => void
  ): void;
  deleteTopicRuleDestination(
    args: DeleteTopicRuleDestinationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteTopicRuleDestinationCommandOutput>;
  deleteTopicRuleDestination(
    args: DeleteTopicRuleDestinationCommandInput,
    cb: (err: any, data?: DeleteTopicRuleDestinationCommandOutput) => void
  ): void;
  deleteTopicRuleDestination(
    args: DeleteTopicRuleDestinationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteTopicRuleDestinationCommandOutput) => void
  ): void;
  deleteV2LoggingLevel(
    args: DeleteV2LoggingLevelCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeleteV2LoggingLevelCommandOutput>;
  deleteV2LoggingLevel(
    args: DeleteV2LoggingLevelCommandInput,
    cb: (err: any, data?: DeleteV2LoggingLevelCommandOutput) => void
  ): void;
  deleteV2LoggingLevel(
    args: DeleteV2LoggingLevelCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeleteV2LoggingLevelCommandOutput) => void
  ): void;
  deprecateThingType(
    args: DeprecateThingTypeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DeprecateThingTypeCommandOutput>;
  deprecateThingType(
    args: DeprecateThingTypeCommandInput,
    cb: (err: any, data?: DeprecateThingTypeCommandOutput) => void
  ): void;
  deprecateThingType(
    args: DeprecateThingTypeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DeprecateThingTypeCommandOutput) => void
  ): void;
  describeAccountAuditConfiguration(): Promise<DescribeAccountAuditConfigurationCommandOutput>;
  describeAccountAuditConfiguration(
    args: DescribeAccountAuditConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAccountAuditConfigurationCommandOutput>;
  describeAccountAuditConfiguration(
    args: DescribeAccountAuditConfigurationCommandInput,
    cb: (
      err: any,
      data?: DescribeAccountAuditConfigurationCommandOutput
    ) => void
  ): void;
  describeAccountAuditConfiguration(
    args: DescribeAccountAuditConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: DescribeAccountAuditConfigurationCommandOutput
    ) => void
  ): void;
  describeAuditFinding(
    args: DescribeAuditFindingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAuditFindingCommandOutput>;
  describeAuditFinding(
    args: DescribeAuditFindingCommandInput,
    cb: (err: any, data?: DescribeAuditFindingCommandOutput) => void
  ): void;
  describeAuditFinding(
    args: DescribeAuditFindingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeAuditFindingCommandOutput) => void
  ): void;
  describeAuditMitigationActionsTask(
    args: DescribeAuditMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAuditMitigationActionsTaskCommandOutput>;
  describeAuditMitigationActionsTask(
    args: DescribeAuditMitigationActionsTaskCommandInput,
    cb: (
      err: any,
      data?: DescribeAuditMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  describeAuditMitigationActionsTask(
    args: DescribeAuditMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: DescribeAuditMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  describeAuditSuppression(
    args: DescribeAuditSuppressionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAuditSuppressionCommandOutput>;
  describeAuditSuppression(
    args: DescribeAuditSuppressionCommandInput,
    cb: (err: any, data?: DescribeAuditSuppressionCommandOutput) => void
  ): void;
  describeAuditSuppression(
    args: DescribeAuditSuppressionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeAuditSuppressionCommandOutput) => void
  ): void;
  describeAuditTask(
    args: DescribeAuditTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAuditTaskCommandOutput>;
  describeAuditTask(
    args: DescribeAuditTaskCommandInput,
    cb: (err: any, data?: DescribeAuditTaskCommandOutput) => void
  ): void;
  describeAuditTask(
    args: DescribeAuditTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeAuditTaskCommandOutput) => void
  ): void;
  describeAuthorizer(
    args: DescribeAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeAuthorizerCommandOutput>;
  describeAuthorizer(
    args: DescribeAuthorizerCommandInput,
    cb: (err: any, data?: DescribeAuthorizerCommandOutput) => void
  ): void;
  describeAuthorizer(
    args: DescribeAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeAuthorizerCommandOutput) => void
  ): void;
  describeBillingGroup(
    args: DescribeBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeBillingGroupCommandOutput>;
  describeBillingGroup(
    args: DescribeBillingGroupCommandInput,
    cb: (err: any, data?: DescribeBillingGroupCommandOutput) => void
  ): void;
  describeBillingGroup(
    args: DescribeBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeBillingGroupCommandOutput) => void
  ): void;
  describeCACertificate(
    args: DescribeCACertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeCACertificateCommandOutput>;
  describeCACertificate(
    args: DescribeCACertificateCommandInput,
    cb: (err: any, data?: DescribeCACertificateCommandOutput) => void
  ): void;
  describeCACertificate(
    args: DescribeCACertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeCACertificateCommandOutput) => void
  ): void;
  describeCertificate(
    args: DescribeCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeCertificateCommandOutput>;
  describeCertificate(
    args: DescribeCertificateCommandInput,
    cb: (err: any, data?: DescribeCertificateCommandOutput) => void
  ): void;
  describeCertificate(
    args: DescribeCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeCertificateCommandOutput) => void
  ): void;
  describeCertificateProvider(
    args: DescribeCertificateProviderCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeCertificateProviderCommandOutput>;
  describeCertificateProvider(
    args: DescribeCertificateProviderCommandInput,
    cb: (err: any, data?: DescribeCertificateProviderCommandOutput) => void
  ): void;
  describeCertificateProvider(
    args: DescribeCertificateProviderCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeCertificateProviderCommandOutput) => void
  ): void;
  describeCustomMetric(
    args: DescribeCustomMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeCustomMetricCommandOutput>;
  describeCustomMetric(
    args: DescribeCustomMetricCommandInput,
    cb: (err: any, data?: DescribeCustomMetricCommandOutput) => void
  ): void;
  describeCustomMetric(
    args: DescribeCustomMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeCustomMetricCommandOutput) => void
  ): void;
  describeDefaultAuthorizer(): Promise<DescribeDefaultAuthorizerCommandOutput>;
  describeDefaultAuthorizer(
    args: DescribeDefaultAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeDefaultAuthorizerCommandOutput>;
  describeDefaultAuthorizer(
    args: DescribeDefaultAuthorizerCommandInput,
    cb: (err: any, data?: DescribeDefaultAuthorizerCommandOutput) => void
  ): void;
  describeDefaultAuthorizer(
    args: DescribeDefaultAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeDefaultAuthorizerCommandOutput) => void
  ): void;
  describeDetectMitigationActionsTask(
    args: DescribeDetectMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeDetectMitigationActionsTaskCommandOutput>;
  describeDetectMitigationActionsTask(
    args: DescribeDetectMitigationActionsTaskCommandInput,
    cb: (
      err: any,
      data?: DescribeDetectMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  describeDetectMitigationActionsTask(
    args: DescribeDetectMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: DescribeDetectMitigationActionsTaskCommandOutput
    ) => void
  ): void;
  describeDimension(
    args: DescribeDimensionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeDimensionCommandOutput>;
  describeDimension(
    args: DescribeDimensionCommandInput,
    cb: (err: any, data?: DescribeDimensionCommandOutput) => void
  ): void;
  describeDimension(
    args: DescribeDimensionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeDimensionCommandOutput) => void
  ): void;
  describeDomainConfiguration(
    args: DescribeDomainConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeDomainConfigurationCommandOutput>;
  describeDomainConfiguration(
    args: DescribeDomainConfigurationCommandInput,
    cb: (err: any, data?: DescribeDomainConfigurationCommandOutput) => void
  ): void;
  describeDomainConfiguration(
    args: DescribeDomainConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeDomainConfigurationCommandOutput) => void
  ): void;
  describeEndpoint(): Promise<DescribeEndpointCommandOutput>;
  describeEndpoint(
    args: DescribeEndpointCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeEndpointCommandOutput>;
  describeEndpoint(
    args: DescribeEndpointCommandInput,
    cb: (err: any, data?: DescribeEndpointCommandOutput) => void
  ): void;
  describeEndpoint(
    args: DescribeEndpointCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeEndpointCommandOutput) => void
  ): void;
  describeEventConfigurations(): Promise<DescribeEventConfigurationsCommandOutput>;
  describeEventConfigurations(
    args: DescribeEventConfigurationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeEventConfigurationsCommandOutput>;
  describeEventConfigurations(
    args: DescribeEventConfigurationsCommandInput,
    cb: (err: any, data?: DescribeEventConfigurationsCommandOutput) => void
  ): void;
  describeEventConfigurations(
    args: DescribeEventConfigurationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeEventConfigurationsCommandOutput) => void
  ): void;
  describeFleetMetric(
    args: DescribeFleetMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeFleetMetricCommandOutput>;
  describeFleetMetric(
    args: DescribeFleetMetricCommandInput,
    cb: (err: any, data?: DescribeFleetMetricCommandOutput) => void
  ): void;
  describeFleetMetric(
    args: DescribeFleetMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeFleetMetricCommandOutput) => void
  ): void;
  describeIndex(
    args: DescribeIndexCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeIndexCommandOutput>;
  describeIndex(
    args: DescribeIndexCommandInput,
    cb: (err: any, data?: DescribeIndexCommandOutput) => void
  ): void;
  describeIndex(
    args: DescribeIndexCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeIndexCommandOutput) => void
  ): void;
  describeJob(
    args: DescribeJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeJobCommandOutput>;
  describeJob(
    args: DescribeJobCommandInput,
    cb: (err: any, data?: DescribeJobCommandOutput) => void
  ): void;
  describeJob(
    args: DescribeJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeJobCommandOutput) => void
  ): void;
  describeJobExecution(
    args: DescribeJobExecutionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeJobExecutionCommandOutput>;
  describeJobExecution(
    args: DescribeJobExecutionCommandInput,
    cb: (err: any, data?: DescribeJobExecutionCommandOutput) => void
  ): void;
  describeJobExecution(
    args: DescribeJobExecutionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeJobExecutionCommandOutput) => void
  ): void;
  describeJobTemplate(
    args: DescribeJobTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeJobTemplateCommandOutput>;
  describeJobTemplate(
    args: DescribeJobTemplateCommandInput,
    cb: (err: any, data?: DescribeJobTemplateCommandOutput) => void
  ): void;
  describeJobTemplate(
    args: DescribeJobTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeJobTemplateCommandOutput) => void
  ): void;
  describeManagedJobTemplate(
    args: DescribeManagedJobTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeManagedJobTemplateCommandOutput>;
  describeManagedJobTemplate(
    args: DescribeManagedJobTemplateCommandInput,
    cb: (err: any, data?: DescribeManagedJobTemplateCommandOutput) => void
  ): void;
  describeManagedJobTemplate(
    args: DescribeManagedJobTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeManagedJobTemplateCommandOutput) => void
  ): void;
  describeMitigationAction(
    args: DescribeMitigationActionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeMitigationActionCommandOutput>;
  describeMitigationAction(
    args: DescribeMitigationActionCommandInput,
    cb: (err: any, data?: DescribeMitigationActionCommandOutput) => void
  ): void;
  describeMitigationAction(
    args: DescribeMitigationActionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeMitigationActionCommandOutput) => void
  ): void;
  describeProvisioningTemplate(
    args: DescribeProvisioningTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeProvisioningTemplateCommandOutput>;
  describeProvisioningTemplate(
    args: DescribeProvisioningTemplateCommandInput,
    cb: (err: any, data?: DescribeProvisioningTemplateCommandOutput) => void
  ): void;
  describeProvisioningTemplate(
    args: DescribeProvisioningTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeProvisioningTemplateCommandOutput) => void
  ): void;
  describeProvisioningTemplateVersion(
    args: DescribeProvisioningTemplateVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeProvisioningTemplateVersionCommandOutput>;
  describeProvisioningTemplateVersion(
    args: DescribeProvisioningTemplateVersionCommandInput,
    cb: (
      err: any,
      data?: DescribeProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  describeProvisioningTemplateVersion(
    args: DescribeProvisioningTemplateVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: DescribeProvisioningTemplateVersionCommandOutput
    ) => void
  ): void;
  describeRoleAlias(
    args: DescribeRoleAliasCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeRoleAliasCommandOutput>;
  describeRoleAlias(
    args: DescribeRoleAliasCommandInput,
    cb: (err: any, data?: DescribeRoleAliasCommandOutput) => void
  ): void;
  describeRoleAlias(
    args: DescribeRoleAliasCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeRoleAliasCommandOutput) => void
  ): void;
  describeScheduledAudit(
    args: DescribeScheduledAuditCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeScheduledAuditCommandOutput>;
  describeScheduledAudit(
    args: DescribeScheduledAuditCommandInput,
    cb: (err: any, data?: DescribeScheduledAuditCommandOutput) => void
  ): void;
  describeScheduledAudit(
    args: DescribeScheduledAuditCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeScheduledAuditCommandOutput) => void
  ): void;
  describeSecurityProfile(
    args: DescribeSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeSecurityProfileCommandOutput>;
  describeSecurityProfile(
    args: DescribeSecurityProfileCommandInput,
    cb: (err: any, data?: DescribeSecurityProfileCommandOutput) => void
  ): void;
  describeSecurityProfile(
    args: DescribeSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeSecurityProfileCommandOutput) => void
  ): void;
  describeStream(
    args: DescribeStreamCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeStreamCommandOutput>;
  describeStream(
    args: DescribeStreamCommandInput,
    cb: (err: any, data?: DescribeStreamCommandOutput) => void
  ): void;
  describeStream(
    args: DescribeStreamCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeStreamCommandOutput) => void
  ): void;
  describeThing(
    args: DescribeThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeThingCommandOutput>;
  describeThing(
    args: DescribeThingCommandInput,
    cb: (err: any, data?: DescribeThingCommandOutput) => void
  ): void;
  describeThing(
    args: DescribeThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeThingCommandOutput) => void
  ): void;
  describeThingGroup(
    args: DescribeThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeThingGroupCommandOutput>;
  describeThingGroup(
    args: DescribeThingGroupCommandInput,
    cb: (err: any, data?: DescribeThingGroupCommandOutput) => void
  ): void;
  describeThingGroup(
    args: DescribeThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeThingGroupCommandOutput) => void
  ): void;
  describeThingRegistrationTask(
    args: DescribeThingRegistrationTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeThingRegistrationTaskCommandOutput>;
  describeThingRegistrationTask(
    args: DescribeThingRegistrationTaskCommandInput,
    cb: (err: any, data?: DescribeThingRegistrationTaskCommandOutput) => void
  ): void;
  describeThingRegistrationTask(
    args: DescribeThingRegistrationTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeThingRegistrationTaskCommandOutput) => void
  ): void;
  describeThingType(
    args: DescribeThingTypeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DescribeThingTypeCommandOutput>;
  describeThingType(
    args: DescribeThingTypeCommandInput,
    cb: (err: any, data?: DescribeThingTypeCommandOutput) => void
  ): void;
  describeThingType(
    args: DescribeThingTypeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DescribeThingTypeCommandOutput) => void
  ): void;
  detachPolicy(
    args: DetachPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DetachPolicyCommandOutput>;
  detachPolicy(
    args: DetachPolicyCommandInput,
    cb: (err: any, data?: DetachPolicyCommandOutput) => void
  ): void;
  detachPolicy(
    args: DetachPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DetachPolicyCommandOutput) => void
  ): void;
  detachPrincipalPolicy(
    args: DetachPrincipalPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DetachPrincipalPolicyCommandOutput>;
  detachPrincipalPolicy(
    args: DetachPrincipalPolicyCommandInput,
    cb: (err: any, data?: DetachPrincipalPolicyCommandOutput) => void
  ): void;
  detachPrincipalPolicy(
    args: DetachPrincipalPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DetachPrincipalPolicyCommandOutput) => void
  ): void;
  detachSecurityProfile(
    args: DetachSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DetachSecurityProfileCommandOutput>;
  detachSecurityProfile(
    args: DetachSecurityProfileCommandInput,
    cb: (err: any, data?: DetachSecurityProfileCommandOutput) => void
  ): void;
  detachSecurityProfile(
    args: DetachSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DetachSecurityProfileCommandOutput) => void
  ): void;
  detachThingPrincipal(
    args: DetachThingPrincipalCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DetachThingPrincipalCommandOutput>;
  detachThingPrincipal(
    args: DetachThingPrincipalCommandInput,
    cb: (err: any, data?: DetachThingPrincipalCommandOutput) => void
  ): void;
  detachThingPrincipal(
    args: DetachThingPrincipalCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DetachThingPrincipalCommandOutput) => void
  ): void;
  disableTopicRule(
    args: DisableTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<DisableTopicRuleCommandOutput>;
  disableTopicRule(
    args: DisableTopicRuleCommandInput,
    cb: (err: any, data?: DisableTopicRuleCommandOutput) => void
  ): void;
  disableTopicRule(
    args: DisableTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: DisableTopicRuleCommandOutput) => void
  ): void;
  enableTopicRule(
    args: EnableTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<EnableTopicRuleCommandOutput>;
  enableTopicRule(
    args: EnableTopicRuleCommandInput,
    cb: (err: any, data?: EnableTopicRuleCommandOutput) => void
  ): void;
  enableTopicRule(
    args: EnableTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: EnableTopicRuleCommandOutput) => void
  ): void;
  getBehaviorModelTrainingSummaries(): Promise<GetBehaviorModelTrainingSummariesCommandOutput>;
  getBehaviorModelTrainingSummaries(
    args: GetBehaviorModelTrainingSummariesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetBehaviorModelTrainingSummariesCommandOutput>;
  getBehaviorModelTrainingSummaries(
    args: GetBehaviorModelTrainingSummariesCommandInput,
    cb: (
      err: any,
      data?: GetBehaviorModelTrainingSummariesCommandOutput
    ) => void
  ): void;
  getBehaviorModelTrainingSummaries(
    args: GetBehaviorModelTrainingSummariesCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: GetBehaviorModelTrainingSummariesCommandOutput
    ) => void
  ): void;
  getBucketsAggregation(
    args: GetBucketsAggregationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetBucketsAggregationCommandOutput>;
  getBucketsAggregation(
    args: GetBucketsAggregationCommandInput,
    cb: (err: any, data?: GetBucketsAggregationCommandOutput) => void
  ): void;
  getBucketsAggregation(
    args: GetBucketsAggregationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetBucketsAggregationCommandOutput) => void
  ): void;
  getCardinality(
    args: GetCardinalityCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetCardinalityCommandOutput>;
  getCardinality(
    args: GetCardinalityCommandInput,
    cb: (err: any, data?: GetCardinalityCommandOutput) => void
  ): void;
  getCardinality(
    args: GetCardinalityCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetCardinalityCommandOutput) => void
  ): void;
  getEffectivePolicies(): Promise<GetEffectivePoliciesCommandOutput>;
  getEffectivePolicies(
    args: GetEffectivePoliciesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetEffectivePoliciesCommandOutput>;
  getEffectivePolicies(
    args: GetEffectivePoliciesCommandInput,
    cb: (err: any, data?: GetEffectivePoliciesCommandOutput) => void
  ): void;
  getEffectivePolicies(
    args: GetEffectivePoliciesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetEffectivePoliciesCommandOutput) => void
  ): void;
  getIndexingConfiguration(): Promise<GetIndexingConfigurationCommandOutput>;
  getIndexingConfiguration(
    args: GetIndexingConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetIndexingConfigurationCommandOutput>;
  getIndexingConfiguration(
    args: GetIndexingConfigurationCommandInput,
    cb: (err: any, data?: GetIndexingConfigurationCommandOutput) => void
  ): void;
  getIndexingConfiguration(
    args: GetIndexingConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetIndexingConfigurationCommandOutput) => void
  ): void;
  getJobDocument(
    args: GetJobDocumentCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetJobDocumentCommandOutput>;
  getJobDocument(
    args: GetJobDocumentCommandInput,
    cb: (err: any, data?: GetJobDocumentCommandOutput) => void
  ): void;
  getJobDocument(
    args: GetJobDocumentCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetJobDocumentCommandOutput) => void
  ): void;
  getLoggingOptions(): Promise<GetLoggingOptionsCommandOutput>;
  getLoggingOptions(
    args: GetLoggingOptionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetLoggingOptionsCommandOutput>;
  getLoggingOptions(
    args: GetLoggingOptionsCommandInput,
    cb: (err: any, data?: GetLoggingOptionsCommandOutput) => void
  ): void;
  getLoggingOptions(
    args: GetLoggingOptionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetLoggingOptionsCommandOutput) => void
  ): void;
  getOTAUpdate(
    args: GetOTAUpdateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetOTAUpdateCommandOutput>;
  getOTAUpdate(
    args: GetOTAUpdateCommandInput,
    cb: (err: any, data?: GetOTAUpdateCommandOutput) => void
  ): void;
  getOTAUpdate(
    args: GetOTAUpdateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetOTAUpdateCommandOutput) => void
  ): void;
  getPackage(
    args: GetPackageCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPackageCommandOutput>;
  getPackage(
    args: GetPackageCommandInput,
    cb: (err: any, data?: GetPackageCommandOutput) => void
  ): void;
  getPackage(
    args: GetPackageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPackageCommandOutput) => void
  ): void;
  getPackageConfiguration(): Promise<GetPackageConfigurationCommandOutput>;
  getPackageConfiguration(
    args: GetPackageConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPackageConfigurationCommandOutput>;
  getPackageConfiguration(
    args: GetPackageConfigurationCommandInput,
    cb: (err: any, data?: GetPackageConfigurationCommandOutput) => void
  ): void;
  getPackageConfiguration(
    args: GetPackageConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPackageConfigurationCommandOutput) => void
  ): void;
  getPackageVersion(
    args: GetPackageVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPackageVersionCommandOutput>;
  getPackageVersion(
    args: GetPackageVersionCommandInput,
    cb: (err: any, data?: GetPackageVersionCommandOutput) => void
  ): void;
  getPackageVersion(
    args: GetPackageVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPackageVersionCommandOutput) => void
  ): void;
  getPercentiles(
    args: GetPercentilesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPercentilesCommandOutput>;
  getPercentiles(
    args: GetPercentilesCommandInput,
    cb: (err: any, data?: GetPercentilesCommandOutput) => void
  ): void;
  getPercentiles(
    args: GetPercentilesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPercentilesCommandOutput) => void
  ): void;
  getPolicy(
    args: GetPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPolicyCommandOutput>;
  getPolicy(
    args: GetPolicyCommandInput,
    cb: (err: any, data?: GetPolicyCommandOutput) => void
  ): void;
  getPolicy(
    args: GetPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPolicyCommandOutput) => void
  ): void;
  getPolicyVersion(
    args: GetPolicyVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetPolicyVersionCommandOutput>;
  getPolicyVersion(
    args: GetPolicyVersionCommandInput,
    cb: (err: any, data?: GetPolicyVersionCommandOutput) => void
  ): void;
  getPolicyVersion(
    args: GetPolicyVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetPolicyVersionCommandOutput) => void
  ): void;
  getRegistrationCode(): Promise<GetRegistrationCodeCommandOutput>;
  getRegistrationCode(
    args: GetRegistrationCodeCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetRegistrationCodeCommandOutput>;
  getRegistrationCode(
    args: GetRegistrationCodeCommandInput,
    cb: (err: any, data?: GetRegistrationCodeCommandOutput) => void
  ): void;
  getRegistrationCode(
    args: GetRegistrationCodeCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetRegistrationCodeCommandOutput) => void
  ): void;
  getStatistics(
    args: GetStatisticsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetStatisticsCommandOutput>;
  getStatistics(
    args: GetStatisticsCommandInput,
    cb: (err: any, data?: GetStatisticsCommandOutput) => void
  ): void;
  getStatistics(
    args: GetStatisticsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetStatisticsCommandOutput) => void
  ): void;
  getTopicRule(
    args: GetTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetTopicRuleCommandOutput>;
  getTopicRule(
    args: GetTopicRuleCommandInput,
    cb: (err: any, data?: GetTopicRuleCommandOutput) => void
  ): void;
  getTopicRule(
    args: GetTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetTopicRuleCommandOutput) => void
  ): void;
  getTopicRuleDestination(
    args: GetTopicRuleDestinationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetTopicRuleDestinationCommandOutput>;
  getTopicRuleDestination(
    args: GetTopicRuleDestinationCommandInput,
    cb: (err: any, data?: GetTopicRuleDestinationCommandOutput) => void
  ): void;
  getTopicRuleDestination(
    args: GetTopicRuleDestinationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetTopicRuleDestinationCommandOutput) => void
  ): void;
  getV2LoggingOptions(): Promise<GetV2LoggingOptionsCommandOutput>;
  getV2LoggingOptions(
    args: GetV2LoggingOptionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<GetV2LoggingOptionsCommandOutput>;
  getV2LoggingOptions(
    args: GetV2LoggingOptionsCommandInput,
    cb: (err: any, data?: GetV2LoggingOptionsCommandOutput) => void
  ): void;
  getV2LoggingOptions(
    args: GetV2LoggingOptionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: GetV2LoggingOptionsCommandOutput) => void
  ): void;
  listActiveViolations(): Promise<ListActiveViolationsCommandOutput>;
  listActiveViolations(
    args: ListActiveViolationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListActiveViolationsCommandOutput>;
  listActiveViolations(
    args: ListActiveViolationsCommandInput,
    cb: (err: any, data?: ListActiveViolationsCommandOutput) => void
  ): void;
  listActiveViolations(
    args: ListActiveViolationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListActiveViolationsCommandOutput) => void
  ): void;
  listAttachedPolicies(
    args: ListAttachedPoliciesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAttachedPoliciesCommandOutput>;
  listAttachedPolicies(
    args: ListAttachedPoliciesCommandInput,
    cb: (err: any, data?: ListAttachedPoliciesCommandOutput) => void
  ): void;
  listAttachedPolicies(
    args: ListAttachedPoliciesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAttachedPoliciesCommandOutput) => void
  ): void;
  listAuditFindings(): Promise<ListAuditFindingsCommandOutput>;
  listAuditFindings(
    args: ListAuditFindingsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuditFindingsCommandOutput>;
  listAuditFindings(
    args: ListAuditFindingsCommandInput,
    cb: (err: any, data?: ListAuditFindingsCommandOutput) => void
  ): void;
  listAuditFindings(
    args: ListAuditFindingsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAuditFindingsCommandOutput) => void
  ): void;
  listAuditMitigationActionsExecutions(
    args: ListAuditMitigationActionsExecutionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuditMitigationActionsExecutionsCommandOutput>;
  listAuditMitigationActionsExecutions(
    args: ListAuditMitigationActionsExecutionsCommandInput,
    cb: (
      err: any,
      data?: ListAuditMitigationActionsExecutionsCommandOutput
    ) => void
  ): void;
  listAuditMitigationActionsExecutions(
    args: ListAuditMitigationActionsExecutionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: ListAuditMitigationActionsExecutionsCommandOutput
    ) => void
  ): void;
  listAuditMitigationActionsTasks(
    args: ListAuditMitigationActionsTasksCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuditMitigationActionsTasksCommandOutput>;
  listAuditMitigationActionsTasks(
    args: ListAuditMitigationActionsTasksCommandInput,
    cb: (err: any, data?: ListAuditMitigationActionsTasksCommandOutput) => void
  ): void;
  listAuditMitigationActionsTasks(
    args: ListAuditMitigationActionsTasksCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAuditMitigationActionsTasksCommandOutput) => void
  ): void;
  listAuditSuppressions(): Promise<ListAuditSuppressionsCommandOutput>;
  listAuditSuppressions(
    args: ListAuditSuppressionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuditSuppressionsCommandOutput>;
  listAuditSuppressions(
    args: ListAuditSuppressionsCommandInput,
    cb: (err: any, data?: ListAuditSuppressionsCommandOutput) => void
  ): void;
  listAuditSuppressions(
    args: ListAuditSuppressionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAuditSuppressionsCommandOutput) => void
  ): void;
  listAuditTasks(
    args: ListAuditTasksCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuditTasksCommandOutput>;
  listAuditTasks(
    args: ListAuditTasksCommandInput,
    cb: (err: any, data?: ListAuditTasksCommandOutput) => void
  ): void;
  listAuditTasks(
    args: ListAuditTasksCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAuditTasksCommandOutput) => void
  ): void;
  listAuthorizers(): Promise<ListAuthorizersCommandOutput>;
  listAuthorizers(
    args: ListAuthorizersCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListAuthorizersCommandOutput>;
  listAuthorizers(
    args: ListAuthorizersCommandInput,
    cb: (err: any, data?: ListAuthorizersCommandOutput) => void
  ): void;
  listAuthorizers(
    args: ListAuthorizersCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListAuthorizersCommandOutput) => void
  ): void;
  listBillingGroups(): Promise<ListBillingGroupsCommandOutput>;
  listBillingGroups(
    args: ListBillingGroupsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListBillingGroupsCommandOutput>;
  listBillingGroups(
    args: ListBillingGroupsCommandInput,
    cb: (err: any, data?: ListBillingGroupsCommandOutput) => void
  ): void;
  listBillingGroups(
    args: ListBillingGroupsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListBillingGroupsCommandOutput) => void
  ): void;
  listCACertificates(): Promise<ListCACertificatesCommandOutput>;
  listCACertificates(
    args: ListCACertificatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListCACertificatesCommandOutput>;
  listCACertificates(
    args: ListCACertificatesCommandInput,
    cb: (err: any, data?: ListCACertificatesCommandOutput) => void
  ): void;
  listCACertificates(
    args: ListCACertificatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListCACertificatesCommandOutput) => void
  ): void;
  listCertificateProviders(): Promise<ListCertificateProvidersCommandOutput>;
  listCertificateProviders(
    args: ListCertificateProvidersCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListCertificateProvidersCommandOutput>;
  listCertificateProviders(
    args: ListCertificateProvidersCommandInput,
    cb: (err: any, data?: ListCertificateProvidersCommandOutput) => void
  ): void;
  listCertificateProviders(
    args: ListCertificateProvidersCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListCertificateProvidersCommandOutput) => void
  ): void;
  listCertificates(): Promise<ListCertificatesCommandOutput>;
  listCertificates(
    args: ListCertificatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListCertificatesCommandOutput>;
  listCertificates(
    args: ListCertificatesCommandInput,
    cb: (err: any, data?: ListCertificatesCommandOutput) => void
  ): void;
  listCertificates(
    args: ListCertificatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListCertificatesCommandOutput) => void
  ): void;
  listCertificatesByCA(
    args: ListCertificatesByCACommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListCertificatesByCACommandOutput>;
  listCertificatesByCA(
    args: ListCertificatesByCACommandInput,
    cb: (err: any, data?: ListCertificatesByCACommandOutput) => void
  ): void;
  listCertificatesByCA(
    args: ListCertificatesByCACommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListCertificatesByCACommandOutput) => void
  ): void;
  listCustomMetrics(): Promise<ListCustomMetricsCommandOutput>;
  listCustomMetrics(
    args: ListCustomMetricsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListCustomMetricsCommandOutput>;
  listCustomMetrics(
    args: ListCustomMetricsCommandInput,
    cb: (err: any, data?: ListCustomMetricsCommandOutput) => void
  ): void;
  listCustomMetrics(
    args: ListCustomMetricsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListCustomMetricsCommandOutput) => void
  ): void;
  listDetectMitigationActionsExecutions(): Promise<ListDetectMitigationActionsExecutionsCommandOutput>;
  listDetectMitigationActionsExecutions(
    args: ListDetectMitigationActionsExecutionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDetectMitigationActionsExecutionsCommandOutput>;
  listDetectMitigationActionsExecutions(
    args: ListDetectMitigationActionsExecutionsCommandInput,
    cb: (
      err: any,
      data?: ListDetectMitigationActionsExecutionsCommandOutput
    ) => void
  ): void;
  listDetectMitigationActionsExecutions(
    args: ListDetectMitigationActionsExecutionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: ListDetectMitigationActionsExecutionsCommandOutput
    ) => void
  ): void;
  listDetectMitigationActionsTasks(
    args: ListDetectMitigationActionsTasksCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDetectMitigationActionsTasksCommandOutput>;
  listDetectMitigationActionsTasks(
    args: ListDetectMitigationActionsTasksCommandInput,
    cb: (err: any, data?: ListDetectMitigationActionsTasksCommandOutput) => void
  ): void;
  listDetectMitigationActionsTasks(
    args: ListDetectMitigationActionsTasksCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDetectMitigationActionsTasksCommandOutput) => void
  ): void;
  listDimensions(): Promise<ListDimensionsCommandOutput>;
  listDimensions(
    args: ListDimensionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDimensionsCommandOutput>;
  listDimensions(
    args: ListDimensionsCommandInput,
    cb: (err: any, data?: ListDimensionsCommandOutput) => void
  ): void;
  listDimensions(
    args: ListDimensionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDimensionsCommandOutput) => void
  ): void;
  listDomainConfigurations(): Promise<ListDomainConfigurationsCommandOutput>;
  listDomainConfigurations(
    args: ListDomainConfigurationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListDomainConfigurationsCommandOutput>;
  listDomainConfigurations(
    args: ListDomainConfigurationsCommandInput,
    cb: (err: any, data?: ListDomainConfigurationsCommandOutput) => void
  ): void;
  listDomainConfigurations(
    args: ListDomainConfigurationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListDomainConfigurationsCommandOutput) => void
  ): void;
  listFleetMetrics(): Promise<ListFleetMetricsCommandOutput>;
  listFleetMetrics(
    args: ListFleetMetricsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListFleetMetricsCommandOutput>;
  listFleetMetrics(
    args: ListFleetMetricsCommandInput,
    cb: (err: any, data?: ListFleetMetricsCommandOutput) => void
  ): void;
  listFleetMetrics(
    args: ListFleetMetricsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListFleetMetricsCommandOutput) => void
  ): void;
  listIndices(): Promise<ListIndicesCommandOutput>;
  listIndices(
    args: ListIndicesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListIndicesCommandOutput>;
  listIndices(
    args: ListIndicesCommandInput,
    cb: (err: any, data?: ListIndicesCommandOutput) => void
  ): void;
  listIndices(
    args: ListIndicesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListIndicesCommandOutput) => void
  ): void;
  listJobExecutionsForJob(
    args: ListJobExecutionsForJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListJobExecutionsForJobCommandOutput>;
  listJobExecutionsForJob(
    args: ListJobExecutionsForJobCommandInput,
    cb: (err: any, data?: ListJobExecutionsForJobCommandOutput) => void
  ): void;
  listJobExecutionsForJob(
    args: ListJobExecutionsForJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListJobExecutionsForJobCommandOutput) => void
  ): void;
  listJobExecutionsForThing(
    args: ListJobExecutionsForThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListJobExecutionsForThingCommandOutput>;
  listJobExecutionsForThing(
    args: ListJobExecutionsForThingCommandInput,
    cb: (err: any, data?: ListJobExecutionsForThingCommandOutput) => void
  ): void;
  listJobExecutionsForThing(
    args: ListJobExecutionsForThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListJobExecutionsForThingCommandOutput) => void
  ): void;
  listJobs(): Promise<ListJobsCommandOutput>;
  listJobs(
    args: ListJobsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListJobsCommandOutput>;
  listJobs(
    args: ListJobsCommandInput,
    cb: (err: any, data?: ListJobsCommandOutput) => void
  ): void;
  listJobs(
    args: ListJobsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListJobsCommandOutput) => void
  ): void;
  listJobTemplates(): Promise<ListJobTemplatesCommandOutput>;
  listJobTemplates(
    args: ListJobTemplatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListJobTemplatesCommandOutput>;
  listJobTemplates(
    args: ListJobTemplatesCommandInput,
    cb: (err: any, data?: ListJobTemplatesCommandOutput) => void
  ): void;
  listJobTemplates(
    args: ListJobTemplatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListJobTemplatesCommandOutput) => void
  ): void;
  listManagedJobTemplates(): Promise<ListManagedJobTemplatesCommandOutput>;
  listManagedJobTemplates(
    args: ListManagedJobTemplatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListManagedJobTemplatesCommandOutput>;
  listManagedJobTemplates(
    args: ListManagedJobTemplatesCommandInput,
    cb: (err: any, data?: ListManagedJobTemplatesCommandOutput) => void
  ): void;
  listManagedJobTemplates(
    args: ListManagedJobTemplatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListManagedJobTemplatesCommandOutput) => void
  ): void;
  listMetricValues(
    args: ListMetricValuesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListMetricValuesCommandOutput>;
  listMetricValues(
    args: ListMetricValuesCommandInput,
    cb: (err: any, data?: ListMetricValuesCommandOutput) => void
  ): void;
  listMetricValues(
    args: ListMetricValuesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListMetricValuesCommandOutput) => void
  ): void;
  listMitigationActions(): Promise<ListMitigationActionsCommandOutput>;
  listMitigationActions(
    args: ListMitigationActionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListMitigationActionsCommandOutput>;
  listMitigationActions(
    args: ListMitigationActionsCommandInput,
    cb: (err: any, data?: ListMitigationActionsCommandOutput) => void
  ): void;
  listMitigationActions(
    args: ListMitigationActionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListMitigationActionsCommandOutput) => void
  ): void;
  listOTAUpdates(): Promise<ListOTAUpdatesCommandOutput>;
  listOTAUpdates(
    args: ListOTAUpdatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListOTAUpdatesCommandOutput>;
  listOTAUpdates(
    args: ListOTAUpdatesCommandInput,
    cb: (err: any, data?: ListOTAUpdatesCommandOutput) => void
  ): void;
  listOTAUpdates(
    args: ListOTAUpdatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListOTAUpdatesCommandOutput) => void
  ): void;
  listOutgoingCertificates(): Promise<ListOutgoingCertificatesCommandOutput>;
  listOutgoingCertificates(
    args: ListOutgoingCertificatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListOutgoingCertificatesCommandOutput>;
  listOutgoingCertificates(
    args: ListOutgoingCertificatesCommandInput,
    cb: (err: any, data?: ListOutgoingCertificatesCommandOutput) => void
  ): void;
  listOutgoingCertificates(
    args: ListOutgoingCertificatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListOutgoingCertificatesCommandOutput) => void
  ): void;
  listPackages(): Promise<ListPackagesCommandOutput>;
  listPackages(
    args: ListPackagesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPackagesCommandOutput>;
  listPackages(
    args: ListPackagesCommandInput,
    cb: (err: any, data?: ListPackagesCommandOutput) => void
  ): void;
  listPackages(
    args: ListPackagesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPackagesCommandOutput) => void
  ): void;
  listPackageVersions(
    args: ListPackageVersionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPackageVersionsCommandOutput>;
  listPackageVersions(
    args: ListPackageVersionsCommandInput,
    cb: (err: any, data?: ListPackageVersionsCommandOutput) => void
  ): void;
  listPackageVersions(
    args: ListPackageVersionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPackageVersionsCommandOutput) => void
  ): void;
  listPolicies(): Promise<ListPoliciesCommandOutput>;
  listPolicies(
    args: ListPoliciesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPoliciesCommandOutput>;
  listPolicies(
    args: ListPoliciesCommandInput,
    cb: (err: any, data?: ListPoliciesCommandOutput) => void
  ): void;
  listPolicies(
    args: ListPoliciesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPoliciesCommandOutput) => void
  ): void;
  listPolicyPrincipals(
    args: ListPolicyPrincipalsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPolicyPrincipalsCommandOutput>;
  listPolicyPrincipals(
    args: ListPolicyPrincipalsCommandInput,
    cb: (err: any, data?: ListPolicyPrincipalsCommandOutput) => void
  ): void;
  listPolicyPrincipals(
    args: ListPolicyPrincipalsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPolicyPrincipalsCommandOutput) => void
  ): void;
  listPolicyVersions(
    args: ListPolicyVersionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPolicyVersionsCommandOutput>;
  listPolicyVersions(
    args: ListPolicyVersionsCommandInput,
    cb: (err: any, data?: ListPolicyVersionsCommandOutput) => void
  ): void;
  listPolicyVersions(
    args: ListPolicyVersionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPolicyVersionsCommandOutput) => void
  ): void;
  listPrincipalPolicies(
    args: ListPrincipalPoliciesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPrincipalPoliciesCommandOutput>;
  listPrincipalPolicies(
    args: ListPrincipalPoliciesCommandInput,
    cb: (err: any, data?: ListPrincipalPoliciesCommandOutput) => void
  ): void;
  listPrincipalPolicies(
    args: ListPrincipalPoliciesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPrincipalPoliciesCommandOutput) => void
  ): void;
  listPrincipalThings(
    args: ListPrincipalThingsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListPrincipalThingsCommandOutput>;
  listPrincipalThings(
    args: ListPrincipalThingsCommandInput,
    cb: (err: any, data?: ListPrincipalThingsCommandOutput) => void
  ): void;
  listPrincipalThings(
    args: ListPrincipalThingsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListPrincipalThingsCommandOutput) => void
  ): void;
  listProvisioningTemplates(): Promise<ListProvisioningTemplatesCommandOutput>;
  listProvisioningTemplates(
    args: ListProvisioningTemplatesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListProvisioningTemplatesCommandOutput>;
  listProvisioningTemplates(
    args: ListProvisioningTemplatesCommandInput,
    cb: (err: any, data?: ListProvisioningTemplatesCommandOutput) => void
  ): void;
  listProvisioningTemplates(
    args: ListProvisioningTemplatesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListProvisioningTemplatesCommandOutput) => void
  ): void;
  listProvisioningTemplateVersions(
    args: ListProvisioningTemplateVersionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListProvisioningTemplateVersionsCommandOutput>;
  listProvisioningTemplateVersions(
    args: ListProvisioningTemplateVersionsCommandInput,
    cb: (err: any, data?: ListProvisioningTemplateVersionsCommandOutput) => void
  ): void;
  listProvisioningTemplateVersions(
    args: ListProvisioningTemplateVersionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListProvisioningTemplateVersionsCommandOutput) => void
  ): void;
  listRelatedResourcesForAuditFinding(
    args: ListRelatedResourcesForAuditFindingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListRelatedResourcesForAuditFindingCommandOutput>;
  listRelatedResourcesForAuditFinding(
    args: ListRelatedResourcesForAuditFindingCommandInput,
    cb: (
      err: any,
      data?: ListRelatedResourcesForAuditFindingCommandOutput
    ) => void
  ): void;
  listRelatedResourcesForAuditFinding(
    args: ListRelatedResourcesForAuditFindingCommandInput,
    options: __HttpHandlerOptions,
    cb: (
      err: any,
      data?: ListRelatedResourcesForAuditFindingCommandOutput
    ) => void
  ): void;
  listRoleAliases(): Promise<ListRoleAliasesCommandOutput>;
  listRoleAliases(
    args: ListRoleAliasesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListRoleAliasesCommandOutput>;
  listRoleAliases(
    args: ListRoleAliasesCommandInput,
    cb: (err: any, data?: ListRoleAliasesCommandOutput) => void
  ): void;
  listRoleAliases(
    args: ListRoleAliasesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListRoleAliasesCommandOutput) => void
  ): void;
  listScheduledAudits(): Promise<ListScheduledAuditsCommandOutput>;
  listScheduledAudits(
    args: ListScheduledAuditsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListScheduledAuditsCommandOutput>;
  listScheduledAudits(
    args: ListScheduledAuditsCommandInput,
    cb: (err: any, data?: ListScheduledAuditsCommandOutput) => void
  ): void;
  listScheduledAudits(
    args: ListScheduledAuditsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListScheduledAuditsCommandOutput) => void
  ): void;
  listSecurityProfiles(): Promise<ListSecurityProfilesCommandOutput>;
  listSecurityProfiles(
    args: ListSecurityProfilesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListSecurityProfilesCommandOutput>;
  listSecurityProfiles(
    args: ListSecurityProfilesCommandInput,
    cb: (err: any, data?: ListSecurityProfilesCommandOutput) => void
  ): void;
  listSecurityProfiles(
    args: ListSecurityProfilesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListSecurityProfilesCommandOutput) => void
  ): void;
  listSecurityProfilesForTarget(
    args: ListSecurityProfilesForTargetCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListSecurityProfilesForTargetCommandOutput>;
  listSecurityProfilesForTarget(
    args: ListSecurityProfilesForTargetCommandInput,
    cb: (err: any, data?: ListSecurityProfilesForTargetCommandOutput) => void
  ): void;
  listSecurityProfilesForTarget(
    args: ListSecurityProfilesForTargetCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListSecurityProfilesForTargetCommandOutput) => void
  ): void;
  listStreams(): Promise<ListStreamsCommandOutput>;
  listStreams(
    args: ListStreamsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListStreamsCommandOutput>;
  listStreams(
    args: ListStreamsCommandInput,
    cb: (err: any, data?: ListStreamsCommandOutput) => void
  ): void;
  listStreams(
    args: ListStreamsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListStreamsCommandOutput) => 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;
  listTargetsForPolicy(
    args: ListTargetsForPolicyCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListTargetsForPolicyCommandOutput>;
  listTargetsForPolicy(
    args: ListTargetsForPolicyCommandInput,
    cb: (err: any, data?: ListTargetsForPolicyCommandOutput) => void
  ): void;
  listTargetsForPolicy(
    args: ListTargetsForPolicyCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListTargetsForPolicyCommandOutput) => void
  ): void;
  listTargetsForSecurityProfile(
    args: ListTargetsForSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListTargetsForSecurityProfileCommandOutput>;
  listTargetsForSecurityProfile(
    args: ListTargetsForSecurityProfileCommandInput,
    cb: (err: any, data?: ListTargetsForSecurityProfileCommandOutput) => void
  ): void;
  listTargetsForSecurityProfile(
    args: ListTargetsForSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListTargetsForSecurityProfileCommandOutput) => void
  ): void;
  listThingGroups(): Promise<ListThingGroupsCommandOutput>;
  listThingGroups(
    args: ListThingGroupsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingGroupsCommandOutput>;
  listThingGroups(
    args: ListThingGroupsCommandInput,
    cb: (err: any, data?: ListThingGroupsCommandOutput) => void
  ): void;
  listThingGroups(
    args: ListThingGroupsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingGroupsCommandOutput) => void
  ): void;
  listThingGroupsForThing(
    args: ListThingGroupsForThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingGroupsForThingCommandOutput>;
  listThingGroupsForThing(
    args: ListThingGroupsForThingCommandInput,
    cb: (err: any, data?: ListThingGroupsForThingCommandOutput) => void
  ): void;
  listThingGroupsForThing(
    args: ListThingGroupsForThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingGroupsForThingCommandOutput) => void
  ): void;
  listThingPrincipals(
    args: ListThingPrincipalsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingPrincipalsCommandOutput>;
  listThingPrincipals(
    args: ListThingPrincipalsCommandInput,
    cb: (err: any, data?: ListThingPrincipalsCommandOutput) => void
  ): void;
  listThingPrincipals(
    args: ListThingPrincipalsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingPrincipalsCommandOutput) => void
  ): void;
  listThingRegistrationTaskReports(
    args: ListThingRegistrationTaskReportsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingRegistrationTaskReportsCommandOutput>;
  listThingRegistrationTaskReports(
    args: ListThingRegistrationTaskReportsCommandInput,
    cb: (err: any, data?: ListThingRegistrationTaskReportsCommandOutput) => void
  ): void;
  listThingRegistrationTaskReports(
    args: ListThingRegistrationTaskReportsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingRegistrationTaskReportsCommandOutput) => void
  ): void;
  listThingRegistrationTasks(): Promise<ListThingRegistrationTasksCommandOutput>;
  listThingRegistrationTasks(
    args: ListThingRegistrationTasksCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingRegistrationTasksCommandOutput>;
  listThingRegistrationTasks(
    args: ListThingRegistrationTasksCommandInput,
    cb: (err: any, data?: ListThingRegistrationTasksCommandOutput) => void
  ): void;
  listThingRegistrationTasks(
    args: ListThingRegistrationTasksCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingRegistrationTasksCommandOutput) => void
  ): void;
  listThings(): Promise<ListThingsCommandOutput>;
  listThings(
    args: ListThingsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingsCommandOutput>;
  listThings(
    args: ListThingsCommandInput,
    cb: (err: any, data?: ListThingsCommandOutput) => void
  ): void;
  listThings(
    args: ListThingsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingsCommandOutput) => void
  ): void;
  listThingsInBillingGroup(
    args: ListThingsInBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingsInBillingGroupCommandOutput>;
  listThingsInBillingGroup(
    args: ListThingsInBillingGroupCommandInput,
    cb: (err: any, data?: ListThingsInBillingGroupCommandOutput) => void
  ): void;
  listThingsInBillingGroup(
    args: ListThingsInBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingsInBillingGroupCommandOutput) => void
  ): void;
  listThingsInThingGroup(
    args: ListThingsInThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingsInThingGroupCommandOutput>;
  listThingsInThingGroup(
    args: ListThingsInThingGroupCommandInput,
    cb: (err: any, data?: ListThingsInThingGroupCommandOutput) => void
  ): void;
  listThingsInThingGroup(
    args: ListThingsInThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingsInThingGroupCommandOutput) => void
  ): void;
  listThingTypes(): Promise<ListThingTypesCommandOutput>;
  listThingTypes(
    args: ListThingTypesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListThingTypesCommandOutput>;
  listThingTypes(
    args: ListThingTypesCommandInput,
    cb: (err: any, data?: ListThingTypesCommandOutput) => void
  ): void;
  listThingTypes(
    args: ListThingTypesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListThingTypesCommandOutput) => void
  ): void;
  listTopicRuleDestinations(): Promise<ListTopicRuleDestinationsCommandOutput>;
  listTopicRuleDestinations(
    args: ListTopicRuleDestinationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListTopicRuleDestinationsCommandOutput>;
  listTopicRuleDestinations(
    args: ListTopicRuleDestinationsCommandInput,
    cb: (err: any, data?: ListTopicRuleDestinationsCommandOutput) => void
  ): void;
  listTopicRuleDestinations(
    args: ListTopicRuleDestinationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListTopicRuleDestinationsCommandOutput) => void
  ): void;
  listTopicRules(): Promise<ListTopicRulesCommandOutput>;
  listTopicRules(
    args: ListTopicRulesCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListTopicRulesCommandOutput>;
  listTopicRules(
    args: ListTopicRulesCommandInput,
    cb: (err: any, data?: ListTopicRulesCommandOutput) => void
  ): void;
  listTopicRules(
    args: ListTopicRulesCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListTopicRulesCommandOutput) => void
  ): void;
  listV2LoggingLevels(): Promise<ListV2LoggingLevelsCommandOutput>;
  listV2LoggingLevels(
    args: ListV2LoggingLevelsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListV2LoggingLevelsCommandOutput>;
  listV2LoggingLevels(
    args: ListV2LoggingLevelsCommandInput,
    cb: (err: any, data?: ListV2LoggingLevelsCommandOutput) => void
  ): void;
  listV2LoggingLevels(
    args: ListV2LoggingLevelsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListV2LoggingLevelsCommandOutput) => void
  ): void;
  listViolationEvents(
    args: ListViolationEventsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ListViolationEventsCommandOutput>;
  listViolationEvents(
    args: ListViolationEventsCommandInput,
    cb: (err: any, data?: ListViolationEventsCommandOutput) => void
  ): void;
  listViolationEvents(
    args: ListViolationEventsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ListViolationEventsCommandOutput) => void
  ): void;
  putVerificationStateOnViolation(
    args: PutVerificationStateOnViolationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<PutVerificationStateOnViolationCommandOutput>;
  putVerificationStateOnViolation(
    args: PutVerificationStateOnViolationCommandInput,
    cb: (err: any, data?: PutVerificationStateOnViolationCommandOutput) => void
  ): void;
  putVerificationStateOnViolation(
    args: PutVerificationStateOnViolationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: PutVerificationStateOnViolationCommandOutput) => void
  ): void;
  registerCACertificate(
    args: RegisterCACertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterCACertificateCommandOutput>;
  registerCACertificate(
    args: RegisterCACertificateCommandInput,
    cb: (err: any, data?: RegisterCACertificateCommandOutput) => void
  ): void;
  registerCACertificate(
    args: RegisterCACertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterCACertificateCommandOutput) => void
  ): void;
  registerCertificate(
    args: RegisterCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterCertificateCommandOutput>;
  registerCertificate(
    args: RegisterCertificateCommandInput,
    cb: (err: any, data?: RegisterCertificateCommandOutput) => void
  ): void;
  registerCertificate(
    args: RegisterCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterCertificateCommandOutput) => void
  ): void;
  registerCertificateWithoutCA(
    args: RegisterCertificateWithoutCACommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterCertificateWithoutCACommandOutput>;
  registerCertificateWithoutCA(
    args: RegisterCertificateWithoutCACommandInput,
    cb: (err: any, data?: RegisterCertificateWithoutCACommandOutput) => void
  ): void;
  registerCertificateWithoutCA(
    args: RegisterCertificateWithoutCACommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterCertificateWithoutCACommandOutput) => void
  ): void;
  registerThing(
    args: RegisterThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RegisterThingCommandOutput>;
  registerThing(
    args: RegisterThingCommandInput,
    cb: (err: any, data?: RegisterThingCommandOutput) => void
  ): void;
  registerThing(
    args: RegisterThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RegisterThingCommandOutput) => void
  ): void;
  rejectCertificateTransfer(
    args: RejectCertificateTransferCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RejectCertificateTransferCommandOutput>;
  rejectCertificateTransfer(
    args: RejectCertificateTransferCommandInput,
    cb: (err: any, data?: RejectCertificateTransferCommandOutput) => void
  ): void;
  rejectCertificateTransfer(
    args: RejectCertificateTransferCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RejectCertificateTransferCommandOutput) => void
  ): void;
  removeThingFromBillingGroup(): Promise<RemoveThingFromBillingGroupCommandOutput>;
  removeThingFromBillingGroup(
    args: RemoveThingFromBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RemoveThingFromBillingGroupCommandOutput>;
  removeThingFromBillingGroup(
    args: RemoveThingFromBillingGroupCommandInput,
    cb: (err: any, data?: RemoveThingFromBillingGroupCommandOutput) => void
  ): void;
  removeThingFromBillingGroup(
    args: RemoveThingFromBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RemoveThingFromBillingGroupCommandOutput) => void
  ): void;
  removeThingFromThingGroup(): Promise<RemoveThingFromThingGroupCommandOutput>;
  removeThingFromThingGroup(
    args: RemoveThingFromThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<RemoveThingFromThingGroupCommandOutput>;
  removeThingFromThingGroup(
    args: RemoveThingFromThingGroupCommandInput,
    cb: (err: any, data?: RemoveThingFromThingGroupCommandOutput) => void
  ): void;
  removeThingFromThingGroup(
    args: RemoveThingFromThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: RemoveThingFromThingGroupCommandOutput) => void
  ): void;
  replaceTopicRule(
    args: ReplaceTopicRuleCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ReplaceTopicRuleCommandOutput>;
  replaceTopicRule(
    args: ReplaceTopicRuleCommandInput,
    cb: (err: any, data?: ReplaceTopicRuleCommandOutput) => void
  ): void;
  replaceTopicRule(
    args: ReplaceTopicRuleCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ReplaceTopicRuleCommandOutput) => void
  ): void;
  searchIndex(
    args: SearchIndexCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SearchIndexCommandOutput>;
  searchIndex(
    args: SearchIndexCommandInput,
    cb: (err: any, data?: SearchIndexCommandOutput) => void
  ): void;
  searchIndex(
    args: SearchIndexCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SearchIndexCommandOutput) => void
  ): void;
  setDefaultAuthorizer(
    args: SetDefaultAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SetDefaultAuthorizerCommandOutput>;
  setDefaultAuthorizer(
    args: SetDefaultAuthorizerCommandInput,
    cb: (err: any, data?: SetDefaultAuthorizerCommandOutput) => void
  ): void;
  setDefaultAuthorizer(
    args: SetDefaultAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetDefaultAuthorizerCommandOutput) => void
  ): void;
  setDefaultPolicyVersion(
    args: SetDefaultPolicyVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SetDefaultPolicyVersionCommandOutput>;
  setDefaultPolicyVersion(
    args: SetDefaultPolicyVersionCommandInput,
    cb: (err: any, data?: SetDefaultPolicyVersionCommandOutput) => void
  ): void;
  setDefaultPolicyVersion(
    args: SetDefaultPolicyVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetDefaultPolicyVersionCommandOutput) => void
  ): void;
  setLoggingOptions(
    args: SetLoggingOptionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SetLoggingOptionsCommandOutput>;
  setLoggingOptions(
    args: SetLoggingOptionsCommandInput,
    cb: (err: any, data?: SetLoggingOptionsCommandOutput) => void
  ): void;
  setLoggingOptions(
    args: SetLoggingOptionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetLoggingOptionsCommandOutput) => void
  ): void;
  setV2LoggingLevel(
    args: SetV2LoggingLevelCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SetV2LoggingLevelCommandOutput>;
  setV2LoggingLevel(
    args: SetV2LoggingLevelCommandInput,
    cb: (err: any, data?: SetV2LoggingLevelCommandOutput) => void
  ): void;
  setV2LoggingLevel(
    args: SetV2LoggingLevelCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetV2LoggingLevelCommandOutput) => void
  ): void;
  setV2LoggingOptions(): Promise<SetV2LoggingOptionsCommandOutput>;
  setV2LoggingOptions(
    args: SetV2LoggingOptionsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<SetV2LoggingOptionsCommandOutput>;
  setV2LoggingOptions(
    args: SetV2LoggingOptionsCommandInput,
    cb: (err: any, data?: SetV2LoggingOptionsCommandOutput) => void
  ): void;
  setV2LoggingOptions(
    args: SetV2LoggingOptionsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: SetV2LoggingOptionsCommandOutput) => void
  ): void;
  startAuditMitigationActionsTask(
    args: StartAuditMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StartAuditMitigationActionsTaskCommandOutput>;
  startAuditMitigationActionsTask(
    args: StartAuditMitigationActionsTaskCommandInput,
    cb: (err: any, data?: StartAuditMitigationActionsTaskCommandOutput) => void
  ): void;
  startAuditMitigationActionsTask(
    args: StartAuditMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartAuditMitigationActionsTaskCommandOutput) => void
  ): void;
  startDetectMitigationActionsTask(
    args: StartDetectMitigationActionsTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StartDetectMitigationActionsTaskCommandOutput>;
  startDetectMitigationActionsTask(
    args: StartDetectMitigationActionsTaskCommandInput,
    cb: (err: any, data?: StartDetectMitigationActionsTaskCommandOutput) => void
  ): void;
  startDetectMitigationActionsTask(
    args: StartDetectMitigationActionsTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartDetectMitigationActionsTaskCommandOutput) => void
  ): void;
  startOnDemandAuditTask(
    args: StartOnDemandAuditTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StartOnDemandAuditTaskCommandOutput>;
  startOnDemandAuditTask(
    args: StartOnDemandAuditTaskCommandInput,
    cb: (err: any, data?: StartOnDemandAuditTaskCommandOutput) => void
  ): void;
  startOnDemandAuditTask(
    args: StartOnDemandAuditTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartOnDemandAuditTaskCommandOutput) => void
  ): void;
  startThingRegistrationTask(
    args: StartThingRegistrationTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StartThingRegistrationTaskCommandOutput>;
  startThingRegistrationTask(
    args: StartThingRegistrationTaskCommandInput,
    cb: (err: any, data?: StartThingRegistrationTaskCommandOutput) => void
  ): void;
  startThingRegistrationTask(
    args: StartThingRegistrationTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StartThingRegistrationTaskCommandOutput) => void
  ): void;
  stopThingRegistrationTask(
    args: StopThingRegistrationTaskCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<StopThingRegistrationTaskCommandOutput>;
  stopThingRegistrationTask(
    args: StopThingRegistrationTaskCommandInput,
    cb: (err: any, data?: StopThingRegistrationTaskCommandOutput) => void
  ): void;
  stopThingRegistrationTask(
    args: StopThingRegistrationTaskCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: StopThingRegistrationTaskCommandOutput) => 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;
  testAuthorization(
    args: TestAuthorizationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<TestAuthorizationCommandOutput>;
  testAuthorization(
    args: TestAuthorizationCommandInput,
    cb: (err: any, data?: TestAuthorizationCommandOutput) => void
  ): void;
  testAuthorization(
    args: TestAuthorizationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: TestAuthorizationCommandOutput) => void
  ): void;
  testInvokeAuthorizer(
    args: TestInvokeAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<TestInvokeAuthorizerCommandOutput>;
  testInvokeAuthorizer(
    args: TestInvokeAuthorizerCommandInput,
    cb: (err: any, data?: TestInvokeAuthorizerCommandOutput) => void
  ): void;
  testInvokeAuthorizer(
    args: TestInvokeAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: TestInvokeAuthorizerCommandOutput) => void
  ): void;
  transferCertificate(
    args: TransferCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<TransferCertificateCommandOutput>;
  transferCertificate(
    args: TransferCertificateCommandInput,
    cb: (err: any, data?: TransferCertificateCommandOutput) => void
  ): void;
  transferCertificate(
    args: TransferCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: TransferCertificateCommandOutput) => 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;
  updateAccountAuditConfiguration(): Promise<UpdateAccountAuditConfigurationCommandOutput>;
  updateAccountAuditConfiguration(
    args: UpdateAccountAuditConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateAccountAuditConfigurationCommandOutput>;
  updateAccountAuditConfiguration(
    args: UpdateAccountAuditConfigurationCommandInput,
    cb: (err: any, data?: UpdateAccountAuditConfigurationCommandOutput) => void
  ): void;
  updateAccountAuditConfiguration(
    args: UpdateAccountAuditConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateAccountAuditConfigurationCommandOutput) => void
  ): void;
  updateAuditSuppression(
    args: UpdateAuditSuppressionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateAuditSuppressionCommandOutput>;
  updateAuditSuppression(
    args: UpdateAuditSuppressionCommandInput,
    cb: (err: any, data?: UpdateAuditSuppressionCommandOutput) => void
  ): void;
  updateAuditSuppression(
    args: UpdateAuditSuppressionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateAuditSuppressionCommandOutput) => void
  ): void;
  updateAuthorizer(
    args: UpdateAuthorizerCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateAuthorizerCommandOutput>;
  updateAuthorizer(
    args: UpdateAuthorizerCommandInput,
    cb: (err: any, data?: UpdateAuthorizerCommandOutput) => void
  ): void;
  updateAuthorizer(
    args: UpdateAuthorizerCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateAuthorizerCommandOutput) => void
  ): void;
  updateBillingGroup(
    args: UpdateBillingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateBillingGroupCommandOutput>;
  updateBillingGroup(
    args: UpdateBillingGroupCommandInput,
    cb: (err: any, data?: UpdateBillingGroupCommandOutput) => void
  ): void;
  updateBillingGroup(
    args: UpdateBillingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateBillingGroupCommandOutput) => void
  ): void;
  updateCACertificate(
    args: UpdateCACertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateCACertificateCommandOutput>;
  updateCACertificate(
    args: UpdateCACertificateCommandInput,
    cb: (err: any, data?: UpdateCACertificateCommandOutput) => void
  ): void;
  updateCACertificate(
    args: UpdateCACertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateCACertificateCommandOutput) => void
  ): void;
  updateCertificate(
    args: UpdateCertificateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateCertificateCommandOutput>;
  updateCertificate(
    args: UpdateCertificateCommandInput,
    cb: (err: any, data?: UpdateCertificateCommandOutput) => void
  ): void;
  updateCertificate(
    args: UpdateCertificateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateCertificateCommandOutput) => void
  ): void;
  updateCertificateProvider(
    args: UpdateCertificateProviderCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateCertificateProviderCommandOutput>;
  updateCertificateProvider(
    args: UpdateCertificateProviderCommandInput,
    cb: (err: any, data?: UpdateCertificateProviderCommandOutput) => void
  ): void;
  updateCertificateProvider(
    args: UpdateCertificateProviderCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateCertificateProviderCommandOutput) => void
  ): void;
  updateCustomMetric(
    args: UpdateCustomMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateCustomMetricCommandOutput>;
  updateCustomMetric(
    args: UpdateCustomMetricCommandInput,
    cb: (err: any, data?: UpdateCustomMetricCommandOutput) => void
  ): void;
  updateCustomMetric(
    args: UpdateCustomMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateCustomMetricCommandOutput) => void
  ): void;
  updateDimension(
    args: UpdateDimensionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateDimensionCommandOutput>;
  updateDimension(
    args: UpdateDimensionCommandInput,
    cb: (err: any, data?: UpdateDimensionCommandOutput) => void
  ): void;
  updateDimension(
    args: UpdateDimensionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateDimensionCommandOutput) => void
  ): void;
  updateDomainConfiguration(
    args: UpdateDomainConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateDomainConfigurationCommandOutput>;
  updateDomainConfiguration(
    args: UpdateDomainConfigurationCommandInput,
    cb: (err: any, data?: UpdateDomainConfigurationCommandOutput) => void
  ): void;
  updateDomainConfiguration(
    args: UpdateDomainConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateDomainConfigurationCommandOutput) => void
  ): void;
  updateDynamicThingGroup(
    args: UpdateDynamicThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateDynamicThingGroupCommandOutput>;
  updateDynamicThingGroup(
    args: UpdateDynamicThingGroupCommandInput,
    cb: (err: any, data?: UpdateDynamicThingGroupCommandOutput) => void
  ): void;
  updateDynamicThingGroup(
    args: UpdateDynamicThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateDynamicThingGroupCommandOutput) => void
  ): void;
  updateEventConfigurations(): Promise<UpdateEventConfigurationsCommandOutput>;
  updateEventConfigurations(
    args: UpdateEventConfigurationsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateEventConfigurationsCommandOutput>;
  updateEventConfigurations(
    args: UpdateEventConfigurationsCommandInput,
    cb: (err: any, data?: UpdateEventConfigurationsCommandOutput) => void
  ): void;
  updateEventConfigurations(
    args: UpdateEventConfigurationsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateEventConfigurationsCommandOutput) => void
  ): void;
  updateFleetMetric(
    args: UpdateFleetMetricCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateFleetMetricCommandOutput>;
  updateFleetMetric(
    args: UpdateFleetMetricCommandInput,
    cb: (err: any, data?: UpdateFleetMetricCommandOutput) => void
  ): void;
  updateFleetMetric(
    args: UpdateFleetMetricCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateFleetMetricCommandOutput) => void
  ): void;
  updateIndexingConfiguration(): Promise<UpdateIndexingConfigurationCommandOutput>;
  updateIndexingConfiguration(
    args: UpdateIndexingConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateIndexingConfigurationCommandOutput>;
  updateIndexingConfiguration(
    args: UpdateIndexingConfigurationCommandInput,
    cb: (err: any, data?: UpdateIndexingConfigurationCommandOutput) => void
  ): void;
  updateIndexingConfiguration(
    args: UpdateIndexingConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateIndexingConfigurationCommandOutput) => void
  ): void;
  updateJob(
    args: UpdateJobCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateJobCommandOutput>;
  updateJob(
    args: UpdateJobCommandInput,
    cb: (err: any, data?: UpdateJobCommandOutput) => void
  ): void;
  updateJob(
    args: UpdateJobCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateJobCommandOutput) => void
  ): void;
  updateMitigationAction(
    args: UpdateMitigationActionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateMitigationActionCommandOutput>;
  updateMitigationAction(
    args: UpdateMitigationActionCommandInput,
    cb: (err: any, data?: UpdateMitigationActionCommandOutput) => void
  ): void;
  updateMitigationAction(
    args: UpdateMitigationActionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateMitigationActionCommandOutput) => void
  ): void;
  updatePackage(
    args: UpdatePackageCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdatePackageCommandOutput>;
  updatePackage(
    args: UpdatePackageCommandInput,
    cb: (err: any, data?: UpdatePackageCommandOutput) => void
  ): void;
  updatePackage(
    args: UpdatePackageCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdatePackageCommandOutput) => void
  ): void;
  updatePackageConfiguration(): Promise<UpdatePackageConfigurationCommandOutput>;
  updatePackageConfiguration(
    args: UpdatePackageConfigurationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdatePackageConfigurationCommandOutput>;
  updatePackageConfiguration(
    args: UpdatePackageConfigurationCommandInput,
    cb: (err: any, data?: UpdatePackageConfigurationCommandOutput) => void
  ): void;
  updatePackageConfiguration(
    args: UpdatePackageConfigurationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdatePackageConfigurationCommandOutput) => void
  ): void;
  updatePackageVersion(
    args: UpdatePackageVersionCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdatePackageVersionCommandOutput>;
  updatePackageVersion(
    args: UpdatePackageVersionCommandInput,
    cb: (err: any, data?: UpdatePackageVersionCommandOutput) => void
  ): void;
  updatePackageVersion(
    args: UpdatePackageVersionCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdatePackageVersionCommandOutput) => void
  ): void;
  updateProvisioningTemplate(
    args: UpdateProvisioningTemplateCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateProvisioningTemplateCommandOutput>;
  updateProvisioningTemplate(
    args: UpdateProvisioningTemplateCommandInput,
    cb: (err: any, data?: UpdateProvisioningTemplateCommandOutput) => void
  ): void;
  updateProvisioningTemplate(
    args: UpdateProvisioningTemplateCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateProvisioningTemplateCommandOutput) => void
  ): void;
  updateRoleAlias(
    args: UpdateRoleAliasCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateRoleAliasCommandOutput>;
  updateRoleAlias(
    args: UpdateRoleAliasCommandInput,
    cb: (err: any, data?: UpdateRoleAliasCommandOutput) => void
  ): void;
  updateRoleAlias(
    args: UpdateRoleAliasCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateRoleAliasCommandOutput) => void
  ): void;
  updateScheduledAudit(
    args: UpdateScheduledAuditCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateScheduledAuditCommandOutput>;
  updateScheduledAudit(
    args: UpdateScheduledAuditCommandInput,
    cb: (err: any, data?: UpdateScheduledAuditCommandOutput) => void
  ): void;
  updateScheduledAudit(
    args: UpdateScheduledAuditCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateScheduledAuditCommandOutput) => void
  ): void;
  updateSecurityProfile(
    args: UpdateSecurityProfileCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateSecurityProfileCommandOutput>;
  updateSecurityProfile(
    args: UpdateSecurityProfileCommandInput,
    cb: (err: any, data?: UpdateSecurityProfileCommandOutput) => void
  ): void;
  updateSecurityProfile(
    args: UpdateSecurityProfileCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateSecurityProfileCommandOutput) => void
  ): void;
  updateStream(
    args: UpdateStreamCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateStreamCommandOutput>;
  updateStream(
    args: UpdateStreamCommandInput,
    cb: (err: any, data?: UpdateStreamCommandOutput) => void
  ): void;
  updateStream(
    args: UpdateStreamCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateStreamCommandOutput) => void
  ): void;
  updateThing(
    args: UpdateThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateThingCommandOutput>;
  updateThing(
    args: UpdateThingCommandInput,
    cb: (err: any, data?: UpdateThingCommandOutput) => void
  ): void;
  updateThing(
    args: UpdateThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateThingCommandOutput) => void
  ): void;
  updateThingGroup(
    args: UpdateThingGroupCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateThingGroupCommandOutput>;
  updateThingGroup(
    args: UpdateThingGroupCommandInput,
    cb: (err: any, data?: UpdateThingGroupCommandOutput) => void
  ): void;
  updateThingGroup(
    args: UpdateThingGroupCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateThingGroupCommandOutput) => void
  ): void;
  updateThingGroupsForThing(): Promise<UpdateThingGroupsForThingCommandOutput>;
  updateThingGroupsForThing(
    args: UpdateThingGroupsForThingCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateThingGroupsForThingCommandOutput>;
  updateThingGroupsForThing(
    args: UpdateThingGroupsForThingCommandInput,
    cb: (err: any, data?: UpdateThingGroupsForThingCommandOutput) => void
  ): void;
  updateThingGroupsForThing(
    args: UpdateThingGroupsForThingCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateThingGroupsForThingCommandOutput) => void
  ): void;
  updateTopicRuleDestination(
    args: UpdateTopicRuleDestinationCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<UpdateTopicRuleDestinationCommandOutput>;
  updateTopicRuleDestination(
    args: UpdateTopicRuleDestinationCommandInput,
    cb: (err: any, data?: UpdateTopicRuleDestinationCommandOutput) => void
  ): void;
  updateTopicRuleDestination(
    args: UpdateTopicRuleDestinationCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: UpdateTopicRuleDestinationCommandOutput) => void
  ): void;
  validateSecurityProfileBehaviors(
    args: ValidateSecurityProfileBehaviorsCommandInput,
    options?: __HttpHandlerOptions
  ): Promise<ValidateSecurityProfileBehaviorsCommandOutput>;
  validateSecurityProfileBehaviors(
    args: ValidateSecurityProfileBehaviorsCommandInput,
    cb: (err: any, data?: ValidateSecurityProfileBehaviorsCommandOutput) => void
  ): void;
  validateSecurityProfileBehaviors(
    args: ValidateSecurityProfileBehaviorsCommandInput,
    options: __HttpHandlerOptions,
    cb: (err: any, data?: ValidateSecurityProfileBehaviorsCommandOutput) => void
  ): void;
}
export declare class IoT extends IoTClient implements IoT {}
