import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
import { IoTServiceException as __BaseException } from "./IoTServiceException";
import {
  AbortConfig,
  Action,
  ActiveViolation,
  AggregationType,
  AlertTarget,
  AlertTargetType,
  ApplicationProtocol,
  AuditCheckConfiguration,
  AuditCheckDetails,
  AuditFinding,
  AuditFrequency,
  AuditMitigationActionExecutionMetadata,
  AuditMitigationActionsExecutionStatus,
  AuditMitigationActionsTaskMetadata,
  AuditMitigationActionsTaskStatus,
  AuditMitigationActionsTaskTarget,
  AuditNotificationTarget,
  AuditNotificationType,
  AuditSuppression,
  AuditTaskMetadata,
  AuditTaskStatus,
  AuditTaskType,
  AuthenticationType,
  AuthorizerConfig,
  AuthorizerDescription,
  AuthorizerStatus,
  AuthorizerSummary,
  AutoRegistrationStatus,
  AwsJobExecutionsRolloutConfig,
  AwsJobPresignedUrlConfig,
  Behavior,
  BillingGroupProperties,
  CertificateProviderOperation,
  ClientCertificateConfig,
  CommandNamespace,
  CommandParameter,
  CommandParameterValue,
  CommandPayload,
  CustomMetricType,
  DayOfWeek,
  DimensionType,
  FleetMetricUnit,
  HttpUrlDestinationProperties,
  JobExecutionsRetryConfig,
  JobExecutionsRolloutConfig,
  LogLevel,
  MaintenanceWindow,
  MetricsExportConfig,
  MetricToRetain,
  MitigationActionParams,
  OTAUpdateFile,
  OTAUpdateStatus,
  PackageVersionArtifact,
  PackageVersionStatus,
  Policy,
  PresignedUrlConfig,
  Protocol,
  ProvisioningHook,
  ResourceIdentifier,
  Sbom,
  SbomValidationStatus,
  SchedulingConfig,
  ServerCertificateConfig,
  ServiceType,
  StreamFile,
  TargetSelection,
  TaskStatisticsForAuditCheck,
  TemplateType,
  ThingGroupProperties,
  ThingTypeProperties,
  TimeoutConfig,
  TlsConfig,
  TopicRuleDestinationStatus,
  VerificationState,
} from "./models_0";
export interface VpcDestinationProperties {
  subnetIds?: string[] | undefined;
  securityGroups?: string[] | undefined;
  vpcId?: string | undefined;
  roleArn?: string | undefined;
}
export interface TopicRuleDestination {
  arn?: string | undefined;
  status?: TopicRuleDestinationStatus | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  statusReason?: string | undefined;
  httpUrlProperties?: HttpUrlDestinationProperties | undefined;
  vpcProperties?: VpcDestinationProperties | undefined;
}
export interface CreateTopicRuleDestinationResponse {
  topicRuleDestination?: TopicRuleDestination | undefined;
}
export interface DeleteAccountAuditConfigurationRequest {
  deleteScheduledAudits?: boolean | undefined;
}
export interface DeleteAccountAuditConfigurationResponse {}
export interface DeleteAuditSuppressionRequest {
  checkName: string | undefined;
  resourceIdentifier: ResourceIdentifier | undefined;
}
export interface DeleteAuditSuppressionResponse {}
export interface DeleteAuthorizerRequest {
  authorizerName: string | undefined;
}
export interface DeleteAuthorizerResponse {}
export declare class DeleteConflictException extends __BaseException {
  readonly name: "DeleteConflictException";
  readonly $fault: "client";
  constructor(
    opts: __ExceptionOptionType<DeleteConflictException, __BaseException>
  );
}
export interface DeleteBillingGroupRequest {
  billingGroupName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteBillingGroupResponse {}
export declare class CertificateStateException extends __BaseException {
  readonly name: "CertificateStateException";
  readonly $fault: "client";
  constructor(
    opts: __ExceptionOptionType<CertificateStateException, __BaseException>
  );
}
export interface DeleteCACertificateRequest {
  certificateId: string | undefined;
}
export interface DeleteCACertificateResponse {}
export interface DeleteCertificateRequest {
  certificateId: string | undefined;
  forceDelete?: boolean | undefined;
}
export interface DeleteCertificateProviderRequest {
  certificateProviderName: string | undefined;
}
export interface DeleteCertificateProviderResponse {}
export interface DeleteCommandRequest {
  commandId: string | undefined;
}
export interface DeleteCommandResponse {
  statusCode?: number | undefined;
}
export interface DeleteCommandExecutionRequest {
  executionId: string | undefined;
  targetArn: string | undefined;
}
export interface DeleteCommandExecutionResponse {}
export interface DeleteCustomMetricRequest {
  metricName: string | undefined;
}
export interface DeleteCustomMetricResponse {}
export interface DeleteDimensionRequest {
  name: string | undefined;
}
export interface DeleteDimensionResponse {}
export interface DeleteDomainConfigurationRequest {
  domainConfigurationName: string | undefined;
}
export interface DeleteDomainConfigurationResponse {}
export interface DeleteDynamicThingGroupRequest {
  thingGroupName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteDynamicThingGroupResponse {}
export interface DeleteFleetMetricRequest {
  metricName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteJobRequest {
  jobId: string | undefined;
  force?: boolean | undefined;
  namespaceId?: string | undefined;
}
export interface DeleteJobExecutionRequest {
  jobId: string | undefined;
  thingName: string | undefined;
  executionNumber: number | undefined;
  force?: boolean | undefined;
  namespaceId?: string | undefined;
}
export interface DeleteJobTemplateRequest {
  jobTemplateId: string | undefined;
}
export interface DeleteMitigationActionRequest {
  actionName: string | undefined;
}
export interface DeleteMitigationActionResponse {}
export interface DeleteOTAUpdateRequest {
  otaUpdateId: string | undefined;
  deleteStream?: boolean | undefined;
  forceDeleteAWSJob?: boolean | undefined;
}
export interface DeleteOTAUpdateResponse {}
export interface DeletePackageRequest {
  packageName: string | undefined;
  clientToken?: string | undefined;
}
export interface DeletePackageResponse {}
export interface DeletePackageVersionRequest {
  packageName: string | undefined;
  versionName: string | undefined;
  clientToken?: string | undefined;
}
export interface DeletePackageVersionResponse {}
export interface DeletePolicyRequest {
  policyName: string | undefined;
}
export interface DeletePolicyVersionRequest {
  policyName: string | undefined;
  policyVersionId: string | undefined;
}
export interface DeleteProvisioningTemplateRequest {
  templateName: string | undefined;
}
export interface DeleteProvisioningTemplateResponse {}
export interface DeleteProvisioningTemplateVersionRequest {
  templateName: string | undefined;
  versionId: number | undefined;
}
export interface DeleteProvisioningTemplateVersionResponse {}
export interface DeleteRegistrationCodeRequest {}
export interface DeleteRegistrationCodeResponse {}
export interface DeleteRoleAliasRequest {
  roleAlias: string | undefined;
}
export interface DeleteRoleAliasResponse {}
export interface DeleteScheduledAuditRequest {
  scheduledAuditName: string | undefined;
}
export interface DeleteScheduledAuditResponse {}
export interface DeleteSecurityProfileRequest {
  securityProfileName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteSecurityProfileResponse {}
export interface DeleteStreamRequest {
  streamId: string | undefined;
}
export interface DeleteStreamResponse {}
export interface DeleteThingRequest {
  thingName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteThingResponse {}
export interface DeleteThingGroupRequest {
  thingGroupName: string | undefined;
  expectedVersion?: number | undefined;
}
export interface DeleteThingGroupResponse {}
export interface DeleteThingTypeRequest {
  thingTypeName: string | undefined;
}
export interface DeleteThingTypeResponse {}
export interface DeleteTopicRuleRequest {
  ruleName: string | undefined;
}
export interface DeleteTopicRuleDestinationRequest {
  arn: string | undefined;
}
export interface DeleteTopicRuleDestinationResponse {}
export declare const LogTargetType: {
  readonly CLIENT_ID: "CLIENT_ID";
  readonly DEFAULT: "DEFAULT";
  readonly PRINCIPAL_ID: "PRINCIPAL_ID";
  readonly SOURCE_IP: "SOURCE_IP";
  readonly THING_GROUP: "THING_GROUP";
};
export type LogTargetType = (typeof LogTargetType)[keyof typeof LogTargetType];
export interface DeleteV2LoggingLevelRequest {
  targetType: LogTargetType | undefined;
  targetName: string | undefined;
}
export interface DeprecateThingTypeRequest {
  thingTypeName: string | undefined;
  undoDeprecate?: boolean | undefined;
}
export interface DeprecateThingTypeResponse {}
export interface DescribeAccountAuditConfigurationRequest {}
export interface DescribeAccountAuditConfigurationResponse {
  roleArn?: string | undefined;
  auditNotificationTargetConfigurations?:
    | Partial<Record<AuditNotificationType, AuditNotificationTarget>>
    | undefined;
  auditCheckConfigurations?:
    | Record<string, AuditCheckConfiguration>
    | undefined;
}
export interface DescribeAuditFindingRequest {
  findingId: string | undefined;
}
export interface DescribeAuditFindingResponse {
  finding?: AuditFinding | undefined;
}
export interface DescribeAuditMitigationActionsTaskRequest {
  taskId: string | undefined;
}
export interface MitigationAction {
  name?: string | undefined;
  id?: string | undefined;
  roleArn?: string | undefined;
  actionParams?: MitigationActionParams | undefined;
}
export interface DescribeAuditMitigationActionsTaskResponse {
  taskStatus?: AuditMitigationActionsTaskStatus | undefined;
  startTime?: Date | undefined;
  endTime?: Date | undefined;
  taskStatistics?: Record<string, TaskStatisticsForAuditCheck> | undefined;
  target?: AuditMitigationActionsTaskTarget | undefined;
  auditCheckToActionsMapping?: Record<string, string[]> | undefined;
  actionsDefinition?: MitigationAction[] | undefined;
}
export interface DescribeAuditSuppressionRequest {
  checkName: string | undefined;
  resourceIdentifier: ResourceIdentifier | undefined;
}
export interface DescribeAuditSuppressionResponse {
  checkName?: string | undefined;
  resourceIdentifier?: ResourceIdentifier | undefined;
  expirationDate?: Date | undefined;
  suppressIndefinitely?: boolean | undefined;
  description?: string | undefined;
}
export interface DescribeAuditTaskRequest {
  taskId: string | undefined;
}
export interface TaskStatistics {
  totalChecks?: number | undefined;
  inProgressChecks?: number | undefined;
  waitingForDataCollectionChecks?: number | undefined;
  compliantChecks?: number | undefined;
  nonCompliantChecks?: number | undefined;
  failedChecks?: number | undefined;
  canceledChecks?: number | undefined;
}
export interface DescribeAuditTaskResponse {
  taskStatus?: AuditTaskStatus | undefined;
  taskType?: AuditTaskType | undefined;
  taskStartTime?: Date | undefined;
  taskStatistics?: TaskStatistics | undefined;
  scheduledAuditName?: string | undefined;
  auditDetails?: Record<string, AuditCheckDetails> | undefined;
}
export interface DescribeAuthorizerRequest {
  authorizerName: string | undefined;
}
export interface DescribeAuthorizerResponse {
  authorizerDescription?: AuthorizerDescription | undefined;
}
export interface DescribeBillingGroupRequest {
  billingGroupName: string | undefined;
}
export interface BillingGroupMetadata {
  creationDate?: Date | undefined;
}
export interface DescribeBillingGroupResponse {
  billingGroupName?: string | undefined;
  billingGroupId?: string | undefined;
  billingGroupArn?: string | undefined;
  version?: number | undefined;
  billingGroupProperties?: BillingGroupProperties | undefined;
  billingGroupMetadata?: BillingGroupMetadata | undefined;
}
export interface DescribeCACertificateRequest {
  certificateId: string | undefined;
}
export declare const CertificateMode: {
  readonly DEFAULT: "DEFAULT";
  readonly SNI_ONLY: "SNI_ONLY";
};
export type CertificateMode =
  (typeof CertificateMode)[keyof typeof CertificateMode];
export declare const CACertificateStatus: {
  readonly ACTIVE: "ACTIVE";
  readonly INACTIVE: "INACTIVE";
};
export type CACertificateStatus =
  (typeof CACertificateStatus)[keyof typeof CACertificateStatus];
export interface CertificateValidity {
  notBefore?: Date | undefined;
  notAfter?: Date | undefined;
}
export interface CACertificateDescription {
  certificateArn?: string | undefined;
  certificateId?: string | undefined;
  status?: CACertificateStatus | undefined;
  certificatePem?: string | undefined;
  ownedBy?: string | undefined;
  creationDate?: Date | undefined;
  autoRegistrationStatus?: AutoRegistrationStatus | undefined;
  lastModifiedDate?: Date | undefined;
  customerVersion?: number | undefined;
  generationId?: string | undefined;
  validity?: CertificateValidity | undefined;
  certificateMode?: CertificateMode | undefined;
}
export interface RegistrationConfig {
  templateBody?: string | undefined;
  roleArn?: string | undefined;
  templateName?: string | undefined;
}
export interface DescribeCACertificateResponse {
  certificateDescription?: CACertificateDescription | undefined;
  registrationConfig?: RegistrationConfig | undefined;
}
export interface DescribeCertificateRequest {
  certificateId: string | undefined;
}
export declare const CertificateStatus: {
  readonly ACTIVE: "ACTIVE";
  readonly INACTIVE: "INACTIVE";
  readonly PENDING_ACTIVATION: "PENDING_ACTIVATION";
  readonly PENDING_TRANSFER: "PENDING_TRANSFER";
  readonly REGISTER_INACTIVE: "REGISTER_INACTIVE";
  readonly REVOKED: "REVOKED";
};
export type CertificateStatus =
  (typeof CertificateStatus)[keyof typeof CertificateStatus];
export interface TransferData {
  transferMessage?: string | undefined;
  rejectReason?: string | undefined;
  transferDate?: Date | undefined;
  acceptDate?: Date | undefined;
  rejectDate?: Date | undefined;
}
export interface CertificateDescription {
  certificateArn?: string | undefined;
  certificateId?: string | undefined;
  caCertificateId?: string | undefined;
  status?: CertificateStatus | undefined;
  certificatePem?: string | undefined;
  ownedBy?: string | undefined;
  previousOwnedBy?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  customerVersion?: number | undefined;
  transferData?: TransferData | undefined;
  generationId?: string | undefined;
  validity?: CertificateValidity | undefined;
  certificateMode?: CertificateMode | undefined;
}
export interface DescribeCertificateResponse {
  certificateDescription?: CertificateDescription | undefined;
}
export interface DescribeCertificateProviderRequest {
  certificateProviderName: string | undefined;
}
export interface DescribeCertificateProviderResponse {
  certificateProviderName?: string | undefined;
  certificateProviderArn?: string | undefined;
  lambdaFunctionArn?: string | undefined;
  accountDefaultForOperations?: CertificateProviderOperation[] | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeCustomMetricRequest {
  metricName: string | undefined;
}
export interface DescribeCustomMetricResponse {
  metricName?: string | undefined;
  metricArn?: string | undefined;
  metricType?: CustomMetricType | undefined;
  displayName?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeDefaultAuthorizerRequest {}
export interface DescribeDefaultAuthorizerResponse {
  authorizerDescription?: AuthorizerDescription | undefined;
}
export interface DescribeDetectMitigationActionsTaskRequest {
  taskId: string | undefined;
}
export interface DetectMitigationActionsTaskTarget {
  violationIds?: string[] | undefined;
  securityProfileName?: string | undefined;
  behaviorName?: string | undefined;
}
export interface DetectMitigationActionsTaskStatistics {
  actionsExecuted?: number | undefined;
  actionsSkipped?: number | undefined;
  actionsFailed?: number | undefined;
}
export declare const DetectMitigationActionsTaskStatus: {
  readonly CANCELED: "CANCELED";
  readonly FAILED: "FAILED";
  readonly IN_PROGRESS: "IN_PROGRESS";
  readonly SUCCESSFUL: "SUCCESSFUL";
};
export type DetectMitigationActionsTaskStatus =
  (typeof DetectMitigationActionsTaskStatus)[keyof typeof DetectMitigationActionsTaskStatus];
export interface ViolationEventOccurrenceRange {
  startTime: Date | undefined;
  endTime: Date | undefined;
}
export interface DetectMitigationActionsTaskSummary {
  taskId?: string | undefined;
  taskStatus?: DetectMitigationActionsTaskStatus | undefined;
  taskStartTime?: Date | undefined;
  taskEndTime?: Date | undefined;
  target?: DetectMitigationActionsTaskTarget | undefined;
  violationEventOccurrenceRange?: ViolationEventOccurrenceRange | undefined;
  onlyActiveViolationsIncluded?: boolean | undefined;
  suppressedAlertsIncluded?: boolean | undefined;
  actionsDefinition?: MitigationAction[] | undefined;
  taskStatistics?: DetectMitigationActionsTaskStatistics | undefined;
}
export interface DescribeDetectMitigationActionsTaskResponse {
  taskSummary?: DetectMitigationActionsTaskSummary | undefined;
}
export interface DescribeDimensionRequest {
  name: string | undefined;
}
export interface DescribeDimensionResponse {
  name?: string | undefined;
  arn?: string | undefined;
  type?: DimensionType | undefined;
  stringValues?: string[] | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeDomainConfigurationRequest {
  domainConfigurationName: string | undefined;
}
export declare const DomainConfigurationStatus: {
  readonly DISABLED: "DISABLED";
  readonly ENABLED: "ENABLED";
};
export type DomainConfigurationStatus =
  (typeof DomainConfigurationStatus)[keyof typeof DomainConfigurationStatus];
export declare const DomainType: {
  readonly AWS_MANAGED: "AWS_MANAGED";
  readonly CUSTOMER_MANAGED: "CUSTOMER_MANAGED";
  readonly ENDPOINT: "ENDPOINT";
};
export type DomainType = (typeof DomainType)[keyof typeof DomainType];
export declare const ServerCertificateStatus: {
  readonly INVALID: "INVALID";
  readonly VALID: "VALID";
};
export type ServerCertificateStatus =
  (typeof ServerCertificateStatus)[keyof typeof ServerCertificateStatus];
export interface ServerCertificateSummary {
  serverCertificateArn?: string | undefined;
  serverCertificateStatus?: ServerCertificateStatus | undefined;
  serverCertificateStatusDetail?: string | undefined;
}
export interface DescribeDomainConfigurationResponse {
  domainConfigurationName?: string | undefined;
  domainConfigurationArn?: string | undefined;
  domainName?: string | undefined;
  serverCertificates?: ServerCertificateSummary[] | undefined;
  authorizerConfig?: AuthorizerConfig | undefined;
  domainConfigurationStatus?: DomainConfigurationStatus | undefined;
  serviceType?: ServiceType | undefined;
  domainType?: DomainType | undefined;
  lastStatusChangeDate?: Date | undefined;
  tlsConfig?: TlsConfig | undefined;
  serverCertificateConfig?: ServerCertificateConfig | undefined;
  authenticationType?: AuthenticationType | undefined;
  applicationProtocol?: ApplicationProtocol | undefined;
  clientCertificateConfig?: ClientCertificateConfig | undefined;
}
export interface DescribeEndpointRequest {
  endpointType?: string | undefined;
}
export interface DescribeEndpointResponse {
  endpointAddress?: string | undefined;
}
export interface DescribeEventConfigurationsRequest {}
export declare const EventType: {
  readonly CA_CERTIFICATE: "CA_CERTIFICATE";
  readonly CERTIFICATE: "CERTIFICATE";
  readonly JOB: "JOB";
  readonly JOB_EXECUTION: "JOB_EXECUTION";
  readonly POLICY: "POLICY";
  readonly THING: "THING";
  readonly THING_GROUP: "THING_GROUP";
  readonly THING_GROUP_HIERARCHY: "THING_GROUP_HIERARCHY";
  readonly THING_GROUP_MEMBERSHIP: "THING_GROUP_MEMBERSHIP";
  readonly THING_TYPE: "THING_TYPE";
  readonly THING_TYPE_ASSOCIATION: "THING_TYPE_ASSOCIATION";
};
export type EventType = (typeof EventType)[keyof typeof EventType];
export interface Configuration {
  Enabled?: boolean | undefined;
}
export interface DescribeEventConfigurationsResponse {
  eventConfigurations?: Partial<Record<EventType, Configuration>> | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeFleetMetricRequest {
  metricName: string | undefined;
}
export interface DescribeFleetMetricResponse {
  metricName?: string | undefined;
  queryString?: string | undefined;
  aggregationType?: AggregationType | undefined;
  period?: number | undefined;
  aggregationField?: string | undefined;
  description?: string | undefined;
  queryVersion?: string | undefined;
  indexName?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  unit?: FleetMetricUnit | undefined;
  version?: number | undefined;
  metricArn?: string | undefined;
}
export interface DescribeIndexRequest {
  indexName: string | undefined;
}
export declare const IndexStatus: {
  readonly ACTIVE: "ACTIVE";
  readonly BUILDING: "BUILDING";
  readonly REBUILDING: "REBUILDING";
};
export type IndexStatus = (typeof IndexStatus)[keyof typeof IndexStatus];
export interface DescribeIndexResponse {
  indexName?: string | undefined;
  indexStatus?: IndexStatus | undefined;
  schema?: string | undefined;
}
export interface DescribeJobRequest {
  jobId: string | undefined;
  beforeSubstitution?: boolean | undefined;
}
export interface JobProcessDetails {
  processingTargets?: string[] | undefined;
  numberOfCanceledThings?: number | undefined;
  numberOfSucceededThings?: number | undefined;
  numberOfFailedThings?: number | undefined;
  numberOfRejectedThings?: number | undefined;
  numberOfQueuedThings?: number | undefined;
  numberOfInProgressThings?: number | undefined;
  numberOfRemovedThings?: number | undefined;
  numberOfTimedOutThings?: number | undefined;
}
export interface ScheduledJobRollout {
  startTime?: string | undefined;
}
export declare const JobStatus: {
  readonly CANCELED: "CANCELED";
  readonly COMPLETED: "COMPLETED";
  readonly DELETION_IN_PROGRESS: "DELETION_IN_PROGRESS";
  readonly IN_PROGRESS: "IN_PROGRESS";
  readonly SCHEDULED: "SCHEDULED";
};
export type JobStatus = (typeof JobStatus)[keyof typeof JobStatus];
export interface Job {
  jobArn?: string | undefined;
  jobId?: string | undefined;
  targetSelection?: TargetSelection | undefined;
  status?: JobStatus | undefined;
  forceCanceled?: boolean | undefined;
  reasonCode?: string | undefined;
  comment?: string | undefined;
  targets?: string[] | undefined;
  description?: string | undefined;
  presignedUrlConfig?: PresignedUrlConfig | undefined;
  jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig | undefined;
  abortConfig?: AbortConfig | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  completedAt?: Date | undefined;
  jobProcessDetails?: JobProcessDetails | undefined;
  timeoutConfig?: TimeoutConfig | undefined;
  namespaceId?: string | undefined;
  jobTemplateArn?: string | undefined;
  jobExecutionsRetryConfig?: JobExecutionsRetryConfig | undefined;
  documentParameters?: Record<string, string> | undefined;
  isConcurrent?: boolean | undefined;
  schedulingConfig?: SchedulingConfig | undefined;
  scheduledJobRollouts?: ScheduledJobRollout[] | undefined;
  destinationPackageVersions?: string[] | undefined;
}
export interface DescribeJobResponse {
  documentSource?: string | undefined;
  job?: Job | undefined;
}
export interface DescribeJobExecutionRequest {
  jobId: string | undefined;
  thingName: string | undefined;
  executionNumber?: number | undefined;
}
export declare const JobExecutionStatus: {
  readonly CANCELED: "CANCELED";
  readonly FAILED: "FAILED";
  readonly IN_PROGRESS: "IN_PROGRESS";
  readonly QUEUED: "QUEUED";
  readonly REJECTED: "REJECTED";
  readonly REMOVED: "REMOVED";
  readonly SUCCEEDED: "SUCCEEDED";
  readonly TIMED_OUT: "TIMED_OUT";
};
export type JobExecutionStatus =
  (typeof JobExecutionStatus)[keyof typeof JobExecutionStatus];
export interface JobExecutionStatusDetails {
  detailsMap?: Record<string, string> | undefined;
}
export interface JobExecution {
  jobId?: string | undefined;
  status?: JobExecutionStatus | undefined;
  forceCanceled?: boolean | undefined;
  statusDetails?: JobExecutionStatusDetails | undefined;
  thingArn?: string | undefined;
  queuedAt?: Date | undefined;
  startedAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  executionNumber?: number | undefined;
  versionNumber?: number | undefined;
  approximateSecondsBeforeTimedOut?: number | undefined;
}
export interface DescribeJobExecutionResponse {
  execution?: JobExecution | undefined;
}
export interface DescribeJobTemplateRequest {
  jobTemplateId: string | undefined;
}
export interface DescribeJobTemplateResponse {
  jobTemplateArn?: string | undefined;
  jobTemplateId?: string | undefined;
  description?: string | undefined;
  documentSource?: string | undefined;
  document?: string | undefined;
  createdAt?: Date | undefined;
  presignedUrlConfig?: PresignedUrlConfig | undefined;
  jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig | undefined;
  abortConfig?: AbortConfig | undefined;
  timeoutConfig?: TimeoutConfig | undefined;
  jobExecutionsRetryConfig?: JobExecutionsRetryConfig | undefined;
  maintenanceWindows?: MaintenanceWindow[] | undefined;
  destinationPackageVersions?: string[] | undefined;
}
export interface DescribeManagedJobTemplateRequest {
  templateName: string | undefined;
  templateVersion?: string | undefined;
}
export interface DocumentParameter {
  key?: string | undefined;
  description?: string | undefined;
  regex?: string | undefined;
  example?: string | undefined;
  optional?: boolean | undefined;
}
export interface DescribeManagedJobTemplateResponse {
  templateName?: string | undefined;
  templateArn?: string | undefined;
  description?: string | undefined;
  templateVersion?: string | undefined;
  environments?: string[] | undefined;
  documentParameters?: DocumentParameter[] | undefined;
  document?: string | undefined;
}
export interface DescribeMitigationActionRequest {
  actionName: string | undefined;
}
export declare const MitigationActionType: {
  readonly ADD_THINGS_TO_THING_GROUP: "ADD_THINGS_TO_THING_GROUP";
  readonly ENABLE_IOT_LOGGING: "ENABLE_IOT_LOGGING";
  readonly PUBLISH_FINDING_TO_SNS: "PUBLISH_FINDING_TO_SNS";
  readonly REPLACE_DEFAULT_POLICY_VERSION: "REPLACE_DEFAULT_POLICY_VERSION";
  readonly UPDATE_CA_CERTIFICATE: "UPDATE_CA_CERTIFICATE";
  readonly UPDATE_DEVICE_CERTIFICATE: "UPDATE_DEVICE_CERTIFICATE";
};
export type MitigationActionType =
  (typeof MitigationActionType)[keyof typeof MitigationActionType];
export interface DescribeMitigationActionResponse {
  actionName?: string | undefined;
  actionType?: MitigationActionType | undefined;
  actionArn?: string | undefined;
  actionId?: string | undefined;
  roleArn?: string | undefined;
  actionParams?: MitigationActionParams | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeProvisioningTemplateRequest {
  templateName: string | undefined;
}
export interface DescribeProvisioningTemplateResponse {
  templateArn?: string | undefined;
  templateName?: string | undefined;
  description?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  defaultVersionId?: number | undefined;
  templateBody?: string | undefined;
  enabled?: boolean | undefined;
  provisioningRoleArn?: string | undefined;
  preProvisioningHook?: ProvisioningHook | undefined;
  type?: TemplateType | undefined;
}
export interface DescribeProvisioningTemplateVersionRequest {
  templateName: string | undefined;
  versionId: number | undefined;
}
export interface DescribeProvisioningTemplateVersionResponse {
  versionId?: number | undefined;
  creationDate?: Date | undefined;
  templateBody?: string | undefined;
  isDefaultVersion?: boolean | undefined;
}
export interface DescribeRoleAliasRequest {
  roleAlias: string | undefined;
}
export interface RoleAliasDescription {
  roleAlias?: string | undefined;
  roleAliasArn?: string | undefined;
  roleArn?: string | undefined;
  owner?: string | undefined;
  credentialDurationSeconds?: number | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface DescribeRoleAliasResponse {
  roleAliasDescription?: RoleAliasDescription | undefined;
}
export interface DescribeScheduledAuditRequest {
  scheduledAuditName: string | undefined;
}
export interface DescribeScheduledAuditResponse {
  frequency?: AuditFrequency | undefined;
  dayOfMonth?: string | undefined;
  dayOfWeek?: DayOfWeek | undefined;
  targetCheckNames?: string[] | undefined;
  scheduledAuditName?: string | undefined;
  scheduledAuditArn?: string | undefined;
}
export interface DescribeSecurityProfileRequest {
  securityProfileName: string | undefined;
}
export interface DescribeSecurityProfileResponse {
  securityProfileName?: string | undefined;
  securityProfileArn?: string | undefined;
  securityProfileDescription?: string | undefined;
  behaviors?: Behavior[] | undefined;
  alertTargets?: Partial<Record<AlertTargetType, AlertTarget>> | undefined;
  additionalMetricsToRetain?: string[] | undefined;
  additionalMetricsToRetainV2?: MetricToRetain[] | undefined;
  version?: number | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  metricsExportConfig?: MetricsExportConfig | undefined;
}
export interface DescribeStreamRequest {
  streamId: string | undefined;
}
export interface StreamInfo {
  streamId?: string | undefined;
  streamArn?: string | undefined;
  streamVersion?: number | undefined;
  description?: string | undefined;
  files?: StreamFile[] | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  roleArn?: string | undefined;
}
export interface DescribeStreamResponse {
  streamInfo?: StreamInfo | undefined;
}
export interface DescribeThingRequest {
  thingName: string | undefined;
}
export interface DescribeThingResponse {
  defaultClientId?: string | undefined;
  thingName?: string | undefined;
  thingId?: string | undefined;
  thingArn?: string | undefined;
  thingTypeName?: string | undefined;
  attributes?: Record<string, string> | undefined;
  version?: number | undefined;
  billingGroupName?: string | undefined;
}
export interface DescribeThingGroupRequest {
  thingGroupName: string | undefined;
}
export declare const DynamicGroupStatus: {
  readonly ACTIVE: "ACTIVE";
  readonly BUILDING: "BUILDING";
  readonly REBUILDING: "REBUILDING";
};
export type DynamicGroupStatus =
  (typeof DynamicGroupStatus)[keyof typeof DynamicGroupStatus];
export interface GroupNameAndArn {
  groupName?: string | undefined;
  groupArn?: string | undefined;
}
export interface ThingGroupMetadata {
  parentGroupName?: string | undefined;
  rootToParentThingGroups?: GroupNameAndArn[] | undefined;
  creationDate?: Date | undefined;
}
export interface DescribeThingGroupResponse {
  thingGroupName?: string | undefined;
  thingGroupId?: string | undefined;
  thingGroupArn?: string | undefined;
  version?: number | undefined;
  thingGroupProperties?: ThingGroupProperties | undefined;
  thingGroupMetadata?: ThingGroupMetadata | undefined;
  indexName?: string | undefined;
  queryString?: string | undefined;
  queryVersion?: string | undefined;
  status?: DynamicGroupStatus | undefined;
}
export interface DescribeThingRegistrationTaskRequest {
  taskId: string | undefined;
}
export declare const Status: {
  readonly Cancelled: "Cancelled";
  readonly Cancelling: "Cancelling";
  readonly Completed: "Completed";
  readonly Failed: "Failed";
  readonly InProgress: "InProgress";
};
export type Status = (typeof Status)[keyof typeof Status];
export interface DescribeThingRegistrationTaskResponse {
  taskId?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  templateBody?: string | undefined;
  inputFileBucket?: string | undefined;
  inputFileKey?: string | undefined;
  roleArn?: string | undefined;
  status?: Status | undefined;
  message?: string | undefined;
  successCount?: number | undefined;
  failureCount?: number | undefined;
  percentageProgress?: number | undefined;
}
export interface DescribeThingTypeRequest {
  thingTypeName: string | undefined;
}
export interface ThingTypeMetadata {
  deprecated?: boolean | undefined;
  deprecationDate?: Date | undefined;
  creationDate?: Date | undefined;
}
export interface DescribeThingTypeResponse {
  thingTypeName?: string | undefined;
  thingTypeId?: string | undefined;
  thingTypeArn?: string | undefined;
  thingTypeProperties?: ThingTypeProperties | undefined;
  thingTypeMetadata?: ThingTypeMetadata | undefined;
}
export interface DetachPolicyRequest {
  policyName: string | undefined;
  target: string | undefined;
}
export interface DetachPrincipalPolicyRequest {
  policyName: string | undefined;
  principal: string | undefined;
}
export interface DetachSecurityProfileRequest {
  securityProfileName: string | undefined;
  securityProfileTargetArn: string | undefined;
}
export interface DetachSecurityProfileResponse {}
export interface DetachThingPrincipalRequest {
  thingName: string | undefined;
  principal: string | undefined;
}
export interface DetachThingPrincipalResponse {}
export interface DisableTopicRuleRequest {
  ruleName: string | undefined;
}
export interface DisassociateSbomFromPackageVersionRequest {
  packageName: string | undefined;
  versionName: string | undefined;
  clientToken?: string | undefined;
}
export interface DisassociateSbomFromPackageVersionResponse {}
export interface EnableTopicRuleRequest {
  ruleName: string | undefined;
}
export interface GetBehaviorModelTrainingSummariesRequest {
  securityProfileName?: string | undefined;
  maxResults?: number | undefined;
  nextToken?: string | undefined;
}
export declare const ModelStatus: {
  readonly ACTIVE: "ACTIVE";
  readonly EXPIRED: "EXPIRED";
  readonly PENDING_BUILD: "PENDING_BUILD";
};
export type ModelStatus = (typeof ModelStatus)[keyof typeof ModelStatus];
export interface BehaviorModelTrainingSummary {
  securityProfileName?: string | undefined;
  behaviorName?: string | undefined;
  trainingDataCollectionStartDate?: Date | undefined;
  modelStatus?: ModelStatus | undefined;
  datapointsCollectionPercentage?: number | undefined;
  lastModelRefreshDate?: Date | undefined;
}
export interface GetBehaviorModelTrainingSummariesResponse {
  summaries?: BehaviorModelTrainingSummary[] | undefined;
  nextToken?: string | undefined;
}
export interface TermsAggregation {
  maxBuckets?: number | undefined;
}
export interface BucketsAggregationType {
  termsAggregation?: TermsAggregation | undefined;
}
export interface GetBucketsAggregationRequest {
  indexName?: string | undefined;
  queryString: string | undefined;
  aggregationField: string | undefined;
  queryVersion?: string | undefined;
  bucketsAggregationType: BucketsAggregationType | undefined;
}
export interface Bucket {
  keyValue?: string | undefined;
  count?: number | undefined;
}
export interface GetBucketsAggregationResponse {
  totalCount?: number | undefined;
  buckets?: Bucket[] | undefined;
}
export interface GetCardinalityRequest {
  indexName?: string | undefined;
  queryString: string | undefined;
  aggregationField?: string | undefined;
  queryVersion?: string | undefined;
}
export interface GetCardinalityResponse {
  cardinality?: number | undefined;
}
export interface GetCommandRequest {
  commandId: string | undefined;
}
export interface GetCommandResponse {
  commandId?: string | undefined;
  commandArn?: string | undefined;
  namespace?: CommandNamespace | undefined;
  displayName?: string | undefined;
  description?: string | undefined;
  mandatoryParameters?: CommandParameter[] | undefined;
  payload?: CommandPayload | undefined;
  roleArn?: string | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  deprecated?: boolean | undefined;
  pendingDeletion?: boolean | undefined;
}
export interface GetCommandExecutionRequest {
  executionId: string | undefined;
  targetArn: string | undefined;
  includeResult?: boolean | undefined;
}
export interface CommandExecutionResult {
  S?: string | undefined;
  B?: boolean | undefined;
  BIN?: Uint8Array | undefined;
}
export declare const CommandExecutionStatus: {
  readonly CREATED: "CREATED";
  readonly FAILED: "FAILED";
  readonly IN_PROGRESS: "IN_PROGRESS";
  readonly REJECTED: "REJECTED";
  readonly SUCCEEDED: "SUCCEEDED";
  readonly TIMED_OUT: "TIMED_OUT";
};
export type CommandExecutionStatus =
  (typeof CommandExecutionStatus)[keyof typeof CommandExecutionStatus];
export interface StatusReason {
  reasonCode: string | undefined;
  reasonDescription?: string | undefined;
}
export interface GetCommandExecutionResponse {
  executionId?: string | undefined;
  commandArn?: string | undefined;
  targetArn?: string | undefined;
  status?: CommandExecutionStatus | undefined;
  statusReason?: StatusReason | undefined;
  result?: Record<string, CommandExecutionResult> | undefined;
  parameters?: Record<string, CommandParameterValue> | undefined;
  executionTimeoutSeconds?: number | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  startedAt?: Date | undefined;
  completedAt?: Date | undefined;
  timeToLive?: Date | undefined;
}
export interface GetEffectivePoliciesRequest {
  principal?: string | undefined;
  cognitoIdentityPoolId?: string | undefined;
  thingName?: string | undefined;
}
export interface EffectivePolicy {
  policyName?: string | undefined;
  policyArn?: string | undefined;
  policyDocument?: string | undefined;
}
export interface GetEffectivePoliciesResponse {
  effectivePolicies?: EffectivePolicy[] | undefined;
}
export interface GetIndexingConfigurationRequest {}
export declare const FieldType: {
  readonly BOOLEAN: "Boolean";
  readonly NUMBER: "Number";
  readonly STRING: "String";
};
export type FieldType = (typeof FieldType)[keyof typeof FieldType];
export interface Field {
  name?: string | undefined;
  type?: FieldType | undefined;
}
export declare const ThingGroupIndexingMode: {
  readonly OFF: "OFF";
  readonly ON: "ON";
};
export type ThingGroupIndexingMode =
  (typeof ThingGroupIndexingMode)[keyof typeof ThingGroupIndexingMode];
export interface ThingGroupIndexingConfiguration {
  thingGroupIndexingMode: ThingGroupIndexingMode | undefined;
  managedFields?: Field[] | undefined;
  customFields?: Field[] | undefined;
}
export declare const DeviceDefenderIndexingMode: {
  readonly OFF: "OFF";
  readonly VIOLATIONS: "VIOLATIONS";
};
export type DeviceDefenderIndexingMode =
  (typeof DeviceDefenderIndexingMode)[keyof typeof DeviceDefenderIndexingMode];
export declare const TargetFieldOrder: {
  readonly LatLon: "LatLon";
  readonly LonLat: "LonLat";
};
export type TargetFieldOrder =
  (typeof TargetFieldOrder)[keyof typeof TargetFieldOrder];
export interface GeoLocationTarget {
  name?: string | undefined;
  order?: TargetFieldOrder | undefined;
}
export interface IndexingFilter {
  namedShadowNames?: string[] | undefined;
  geoLocations?: GeoLocationTarget[] | undefined;
}
export declare const NamedShadowIndexingMode: {
  readonly OFF: "OFF";
  readonly ON: "ON";
};
export type NamedShadowIndexingMode =
  (typeof NamedShadowIndexingMode)[keyof typeof NamedShadowIndexingMode];
export declare const ThingConnectivityIndexingMode: {
  readonly OFF: "OFF";
  readonly STATUS: "STATUS";
};
export type ThingConnectivityIndexingMode =
  (typeof ThingConnectivityIndexingMode)[keyof typeof ThingConnectivityIndexingMode];
export declare const ThingIndexingMode: {
  readonly OFF: "OFF";
  readonly REGISTRY: "REGISTRY";
  readonly REGISTRY_AND_SHADOW: "REGISTRY_AND_SHADOW";
};
export type ThingIndexingMode =
  (typeof ThingIndexingMode)[keyof typeof ThingIndexingMode];
export interface ThingIndexingConfiguration {
  thingIndexingMode: ThingIndexingMode | undefined;
  thingConnectivityIndexingMode?: ThingConnectivityIndexingMode | undefined;
  deviceDefenderIndexingMode?: DeviceDefenderIndexingMode | undefined;
  namedShadowIndexingMode?: NamedShadowIndexingMode | undefined;
  managedFields?: Field[] | undefined;
  customFields?: Field[] | undefined;
  filter?: IndexingFilter | undefined;
}
export interface GetIndexingConfigurationResponse {
  thingIndexingConfiguration?: ThingIndexingConfiguration | undefined;
  thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration | undefined;
}
export interface GetJobDocumentRequest {
  jobId: string | undefined;
  beforeSubstitution?: boolean | undefined;
}
export interface GetJobDocumentResponse {
  document?: string | undefined;
}
export interface GetLoggingOptionsRequest {}
export interface GetLoggingOptionsResponse {
  roleArn?: string | undefined;
  logLevel?: LogLevel | undefined;
}
export interface GetOTAUpdateRequest {
  otaUpdateId: string | undefined;
}
export interface ErrorInfo {
  code?: string | undefined;
  message?: string | undefined;
}
export interface OTAUpdateInfo {
  otaUpdateId?: string | undefined;
  otaUpdateArn?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  description?: string | undefined;
  targets?: string[] | undefined;
  protocols?: Protocol[] | undefined;
  awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig | undefined;
  awsJobPresignedUrlConfig?: AwsJobPresignedUrlConfig | undefined;
  targetSelection?: TargetSelection | undefined;
  otaUpdateFiles?: OTAUpdateFile[] | undefined;
  otaUpdateStatus?: OTAUpdateStatus | undefined;
  awsIotJobId?: string | undefined;
  awsIotJobArn?: string | undefined;
  errorInfo?: ErrorInfo | undefined;
  additionalParameters?: Record<string, string> | undefined;
}
export interface GetOTAUpdateResponse {
  otaUpdateInfo?: OTAUpdateInfo | undefined;
}
export interface GetPackageRequest {
  packageName: string | undefined;
}
export interface GetPackageResponse {
  packageName?: string | undefined;
  packageArn?: string | undefined;
  description?: string | undefined;
  defaultVersionName?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
}
export interface GetPackageConfigurationRequest {}
export interface VersionUpdateByJobsConfig {
  enabled?: boolean | undefined;
  roleArn?: string | undefined;
}
export interface GetPackageConfigurationResponse {
  versionUpdateByJobsConfig?: VersionUpdateByJobsConfig | undefined;
}
export interface GetPackageVersionRequest {
  packageName: string | undefined;
  versionName: string | undefined;
}
export interface GetPackageVersionResponse {
  packageVersionArn?: string | undefined;
  packageName?: string | undefined;
  versionName?: string | undefined;
  description?: string | undefined;
  attributes?: Record<string, string> | undefined;
  artifact?: PackageVersionArtifact | undefined;
  status?: PackageVersionStatus | undefined;
  errorReason?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  sbom?: Sbom | undefined;
  sbomValidationStatus?: SbomValidationStatus | undefined;
  recipe?: string | undefined;
}
export interface GetPercentilesRequest {
  indexName?: string | undefined;
  queryString: string | undefined;
  aggregationField?: string | undefined;
  queryVersion?: string | undefined;
  percents?: number[] | undefined;
}
export interface PercentPair {
  percent?: number | undefined;
  value?: number | undefined;
}
export interface GetPercentilesResponse {
  percentiles?: PercentPair[] | undefined;
}
export interface GetPolicyRequest {
  policyName: string | undefined;
}
export interface GetPolicyResponse {
  policyName?: string | undefined;
  policyArn?: string | undefined;
  policyDocument?: string | undefined;
  defaultVersionId?: string | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  generationId?: string | undefined;
}
export interface GetPolicyVersionRequest {
  policyName: string | undefined;
  policyVersionId: string | undefined;
}
export interface GetPolicyVersionResponse {
  policyArn?: string | undefined;
  policyName?: string | undefined;
  policyDocument?: string | undefined;
  policyVersionId?: string | undefined;
  isDefaultVersion?: boolean | undefined;
  creationDate?: Date | undefined;
  lastModifiedDate?: Date | undefined;
  generationId?: string | undefined;
}
export interface GetRegistrationCodeRequest {}
export interface GetRegistrationCodeResponse {
  registrationCode?: string | undefined;
}
export interface GetStatisticsRequest {
  indexName?: string | undefined;
  queryString: string | undefined;
  aggregationField?: string | undefined;
  queryVersion?: string | undefined;
}
export interface Statistics {
  count?: number | undefined;
  average?: number | undefined;
  sum?: number | undefined;
  minimum?: number | undefined;
  maximum?: number | undefined;
  sumOfSquares?: number | undefined;
  variance?: number | undefined;
  stdDeviation?: number | undefined;
}
export interface GetStatisticsResponse {
  statistics?: Statistics | undefined;
}
export interface GetThingConnectivityDataRequest {
  thingName: string | undefined;
}
export declare const DisconnectReasonValue: {
  readonly AUTH_ERROR: "AUTH_ERROR";
  readonly CLIENT_ERROR: "CLIENT_ERROR";
  readonly CLIENT_INITIATED_DISCONNECT: "CLIENT_INITIATED_DISCONNECT";
  readonly CONNECTION_LOST: "CONNECTION_LOST";
  readonly CUSTOMAUTH_TTL_EXPIRATION: "CUSTOMAUTH_TTL_EXPIRATION";
  readonly DUPLICATE_CLIENTID: "DUPLICATE_CLIENTID";
  readonly FORBIDDEN_ACCESS: "FORBIDDEN_ACCESS";
  readonly MQTT_KEEP_ALIVE_TIMEOUT: "MQTT_KEEP_ALIVE_TIMEOUT";
  readonly NONE: "NONE";
  readonly SERVER_ERROR: "SERVER_ERROR";
  readonly SERVER_INITIATED_DISCONNECT: "SERVER_INITIATED_DISCONNECT";
  readonly THROTTLED: "THROTTLED";
  readonly UNKNOWN: "UNKNOWN";
  readonly WEBSOCKET_TTL_EXPIRATION: "WEBSOCKET_TTL_EXPIRATION";
};
export type DisconnectReasonValue =
  (typeof DisconnectReasonValue)[keyof typeof DisconnectReasonValue];
export interface GetThingConnectivityDataResponse {
  thingName?: string | undefined;
  connected?: boolean | undefined;
  timestamp?: Date | undefined;
  disconnectReason?: DisconnectReasonValue | undefined;
}
export interface GetTopicRuleRequest {
  ruleName: string | undefined;
}
export interface TopicRule {
  ruleName?: string | undefined;
  sql?: string | undefined;
  description?: string | undefined;
  createdAt?: Date | undefined;
  actions?: Action[] | undefined;
  ruleDisabled?: boolean | undefined;
  awsIotSqlVersion?: string | undefined;
  errorAction?: Action | undefined;
}
export interface GetTopicRuleResponse {
  ruleArn?: string | undefined;
  rule?: TopicRule | undefined;
}
export interface GetTopicRuleDestinationRequest {
  arn: string | undefined;
}
export interface GetTopicRuleDestinationResponse {
  topicRuleDestination?: TopicRuleDestination | undefined;
}
export interface GetV2LoggingOptionsRequest {}
export interface GetV2LoggingOptionsResponse {
  roleArn?: string | undefined;
  defaultLogLevel?: LogLevel | undefined;
  disableAllLogs?: boolean | undefined;
}
export declare class NotConfiguredException extends __BaseException {
  readonly name: "NotConfiguredException";
  readonly $fault: "client";
  constructor(
    opts: __ExceptionOptionType<NotConfiguredException, __BaseException>
  );
}
export declare const BehaviorCriteriaType: {
  readonly MACHINE_LEARNING: "MACHINE_LEARNING";
  readonly STATIC: "STATIC";
  readonly STATISTICAL: "STATISTICAL";
};
export type BehaviorCriteriaType =
  (typeof BehaviorCriteriaType)[keyof typeof BehaviorCriteriaType];
export interface ListActiveViolationsRequest {
  thingName?: string | undefined;
  securityProfileName?: string | undefined;
  behaviorCriteriaType?: BehaviorCriteriaType | undefined;
  listSuppressedAlerts?: boolean | undefined;
  verificationState?: VerificationState | undefined;
  nextToken?: string | undefined;
  maxResults?: number | undefined;
}
export interface ListActiveViolationsResponse {
  activeViolations?: ActiveViolation[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAttachedPoliciesRequest {
  target: string | undefined;
  recursive?: boolean | undefined;
  marker?: string | undefined;
  pageSize?: number | undefined;
}
export interface ListAttachedPoliciesResponse {
  policies?: Policy[] | undefined;
  nextMarker?: string | undefined;
}
export interface ListAuditFindingsRequest {
  taskId?: string | undefined;
  checkName?: string | undefined;
  resourceIdentifier?: ResourceIdentifier | undefined;
  maxResults?: number | undefined;
  nextToken?: string | undefined;
  startTime?: Date | undefined;
  endTime?: Date | undefined;
  listSuppressedFindings?: boolean | undefined;
}
export interface ListAuditFindingsResponse {
  findings?: AuditFinding[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAuditMitigationActionsExecutionsRequest {
  taskId: string | undefined;
  actionStatus?: AuditMitigationActionsExecutionStatus | undefined;
  findingId: string | undefined;
  maxResults?: number | undefined;
  nextToken?: string | undefined;
}
export interface ListAuditMitigationActionsExecutionsResponse {
  actionsExecutions?: AuditMitigationActionExecutionMetadata[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAuditMitigationActionsTasksRequest {
  auditTaskId?: string | undefined;
  findingId?: string | undefined;
  taskStatus?: AuditMitigationActionsTaskStatus | undefined;
  maxResults?: number | undefined;
  nextToken?: string | undefined;
  startTime: Date | undefined;
  endTime: Date | undefined;
}
export interface ListAuditMitigationActionsTasksResponse {
  tasks?: AuditMitigationActionsTaskMetadata[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAuditSuppressionsRequest {
  checkName?: string | undefined;
  resourceIdentifier?: ResourceIdentifier | undefined;
  ascendingOrder?: boolean | undefined;
  nextToken?: string | undefined;
  maxResults?: number | undefined;
}
export interface ListAuditSuppressionsResponse {
  suppressions?: AuditSuppression[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAuditTasksRequest {
  startTime: Date | undefined;
  endTime: Date | undefined;
  taskType?: AuditTaskType | undefined;
  taskStatus?: AuditTaskStatus | undefined;
  nextToken?: string | undefined;
  maxResults?: number | undefined;
}
export interface ListAuditTasksResponse {
  tasks?: AuditTaskMetadata[] | undefined;
  nextToken?: string | undefined;
}
export interface ListAuthorizersRequest {
  pageSize?: number | undefined;
  marker?: string | undefined;
  ascendingOrder?: boolean | undefined;
  status?: AuthorizerStatus | undefined;
}
export interface ListAuthorizersResponse {
  authorizers?: AuthorizerSummary[] | undefined;
  nextMarker?: string | undefined;
}
export interface ListBillingGroupsRequest {
  nextToken?: string | undefined;
  maxResults?: number | undefined;
  namePrefixFilter?: string | undefined;
}
export interface ListBillingGroupsResponse {
  billingGroups?: GroupNameAndArn[] | undefined;
  nextToken?: string | undefined;
}
export interface ListCACertificatesRequest {
  pageSize?: number | undefined;
  marker?: string | undefined;
  ascendingOrder?: boolean | undefined;
  templateName?: string | undefined;
}
export interface CACertificate {
  certificateArn?: string | undefined;
  certificateId?: string | undefined;
  status?: CACertificateStatus | undefined;
  creationDate?: Date | undefined;
}
export interface ListCACertificatesResponse {
  certificates?: CACertificate[] | undefined;
  nextMarker?: string | undefined;
}
export interface ListCertificateProvidersRequest {
  nextToken?: string | undefined;
  ascendingOrder?: boolean | undefined;
}
export interface CertificateProviderSummary {
  certificateProviderName?: string | undefined;
  certificateProviderArn?: string | undefined;
}
export interface ListCertificateProvidersResponse {
  certificateProviders?: CertificateProviderSummary[] | undefined;
  nextToken?: string | undefined;
}
export interface ListCertificatesRequest {
  pageSize?: number | undefined;
  marker?: string | undefined;
  ascendingOrder?: boolean | undefined;
}
export interface Certificate {
  certificateArn?: string | undefined;
  certificateId?: string | undefined;
  status?: CertificateStatus | undefined;
  certificateMode?: CertificateMode | undefined;
  creationDate?: Date | undefined;
}
export interface ListCertificatesResponse {
  certificates?: Certificate[] | undefined;
  nextMarker?: string | undefined;
}
export interface ListCertificatesByCARequest {
  caCertificateId: string | undefined;
  pageSize?: number | undefined;
  marker?: string | undefined;
  ascendingOrder?: boolean | undefined;
}
export interface ListCertificatesByCAResponse {
  certificates?: Certificate[] | undefined;
  nextMarker?: string | undefined;
}
export interface TimeFilter {
  after?: string | undefined;
  before?: string | undefined;
}
export declare const SortOrder: {
  readonly Ascending: "ASCENDING";
  readonly Descending: "DESCENDING";
};
export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];
export interface ListCommandExecutionsRequest {
  maxResults?: number | undefined;
  nextToken?: string | undefined;
  namespace?: CommandNamespace | undefined;
  status?: CommandExecutionStatus | undefined;
  sortOrder?: SortOrder | undefined;
  startedTimeFilter?: TimeFilter | undefined;
  completedTimeFilter?: TimeFilter | undefined;
  targetArn?: string | undefined;
  commandArn?: string | undefined;
}
export interface CommandExecutionSummary {
  commandArn?: string | undefined;
  executionId?: string | undefined;
  targetArn?: string | undefined;
  status?: CommandExecutionStatus | undefined;
  createdAt?: Date | undefined;
  startedAt?: Date | undefined;
  completedAt?: Date | undefined;
}
export interface ListCommandExecutionsResponse {
  commandExecutions?: CommandExecutionSummary[] | undefined;
  nextToken?: string | undefined;
}
export interface ListCommandsRequest {
  maxResults?: number | undefined;
  nextToken?: string | undefined;
  namespace?: CommandNamespace | undefined;
  commandParameterName?: string | undefined;
  sortOrder?: SortOrder | undefined;
}
export interface CommandSummary {
  commandArn?: string | undefined;
  commandId?: string | undefined;
  displayName?: string | undefined;
  deprecated?: boolean | undefined;
  createdAt?: Date | undefined;
  lastUpdatedAt?: Date | undefined;
  pendingDeletion?: boolean | undefined;
}
export interface ListCommandsResponse {
  commands?: CommandSummary[] | undefined;
  nextToken?: string | undefined;
}
export interface ListCustomMetricsRequest {
  nextToken?: string | undefined;
  maxResults?: number | undefined;
}
export declare const GetPackageResponseFilterSensitiveLog: (
  obj: GetPackageResponse
) => any;
export declare const GetPackageVersionResponseFilterSensitiveLog: (
  obj: GetPackageVersionResponse
) => any;
export declare const GetThingConnectivityDataRequestFilterSensitiveLog: (
  obj: GetThingConnectivityDataRequest
) => any;
export declare const GetThingConnectivityDataResponseFilterSensitiveLog: (
  obj: GetThingConnectivityDataResponse
) => any;
