import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
import { IoTServiceException as __BaseException } from "./IoTServiceException";
import {
  AbortConfig,
  Action,
  ActiveViolation,
  AggregationType,
  AlertTarget,
  AlertTargetType,
  AuditCheckConfiguration,
  AuditCheckDetails,
  AuditFinding,
  AuditFrequency,
  AuditMitigationActionExecutionMetadata,
  AuditMitigationActionsExecutionStatus,
  AuditMitigationActionsTaskMetadata,
  AuditMitigationActionsTaskStatus,
  AuditMitigationActionsTaskTarget,
  AuditNotificationTarget,
  AuditNotificationType,
  AuditSuppression,
  AuditTaskMetadata,
  AuditTaskStatus,
  AuditTaskType,
  AuthorizerConfig,
  AuthorizerDescription,
  AuthorizerStatus,
  AuthorizerSummary,
  AutoRegistrationStatus,
  AwsJobExecutionsRolloutConfig,
  AwsJobPresignedUrlConfig,
  Behavior,
  BillingGroupProperties,
  CertificateProviderOperation,
  CustomMetricType,
  DayOfWeek,
  DimensionType,
  DimensionValueOperator,
  FleetMetricUnit,
  JobExecutionsRetryConfig,
  JobExecutionsRolloutConfig,
  LogLevel,
  MaintenanceWindow,
  MetricsExportConfig,
  MetricToRetain,
  MetricValue,
  MitigationActionParams,
  OTAUpdateFile,
  OTAUpdateStatus,
  PackageVersionStatus,
  Policy,
  PresignedUrlConfig,
  Protocol,
  ProvisioningHook,
  ResourceIdentifier,
  SchedulingConfig,
  ServerCertificateConfig,
  ServiceType,
  StreamFile,
  TargetSelection,
  TaskStatisticsForAuditCheck,
  TemplateType,
  ThingGroupProperties,
  ThingTypeProperties,
  TimeoutConfig,
  TlsConfig,
  TopicRuleDestination,
  VerificationState,
} from "./models_0";
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;
}
export interface DeleteDynamicThingGroupResponse {}
export interface DeleteFleetMetricRequest {
  metricName: string | undefined;
  expectedVersion?: number;
}
export interface DeleteJobRequest {
  jobId: string | undefined;
  force?: boolean;
  namespaceId?: string;
}
export interface DeleteJobExecutionRequest {
  jobId: string | undefined;
  thingName: string | undefined;
  executionNumber: number | undefined;
  force?: boolean;
  namespaceId?: string;
}
export interface DeleteJobTemplateRequest {
  jobTemplateId: string | undefined;
}
export interface DeleteMitigationActionRequest {
  actionName: string | undefined;
}
export interface DeleteMitigationActionResponse {}
export interface DeleteOTAUpdateRequest {
  otaUpdateId: string | undefined;
  deleteStream?: boolean;
  forceDeleteAWSJob?: boolean;
}
export interface DeleteOTAUpdateResponse {}
export interface DeletePackageRequest {
  packageName: string | undefined;
  clientToken?: string;
}
export interface DeletePackageResponse {}
export interface DeletePackageVersionRequest {
  packageName: string | undefined;
  versionName: string | undefined;
  clientToken?: string;
}
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;
}
export interface DeleteSecurityProfileResponse {}
export interface DeleteStreamRequest {
  streamId: string | undefined;
}
export interface DeleteStreamResponse {}
export interface DeleteThingRequest {
  thingName: string | undefined;
  expectedVersion?: number;
}
export interface DeleteThingResponse {}
export interface DeleteThingGroupRequest {
  thingGroupName: string | undefined;
  expectedVersion?: number;
}
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;
}
export interface DeprecateThingTypeResponse {}
export interface DescribeAccountAuditConfigurationRequest {}
export interface DescribeAccountAuditConfigurationResponse {
  roleArn?: string;
  auditNotificationTargetConfigurations?: Partial<
    Record<AuditNotificationType, AuditNotificationTarget>
  >;
  auditCheckConfigurations?: Record<string, AuditCheckConfiguration>;
}
export interface DescribeAuditFindingRequest {
  findingId: string | undefined;
}
export interface DescribeAuditFindingResponse {
  finding?: AuditFinding;
}
export interface DescribeAuditMitigationActionsTaskRequest {
  taskId: string | undefined;
}
export interface MitigationAction {
  name?: string;
  id?: string;
  roleArn?: string;
  actionParams?: MitigationActionParams;
}
export interface DescribeAuditMitigationActionsTaskResponse {
  taskStatus?: AuditMitigationActionsTaskStatus;
  startTime?: Date;
  endTime?: Date;
  taskStatistics?: Record<string, TaskStatisticsForAuditCheck>;
  target?: AuditMitigationActionsTaskTarget;
  auditCheckToActionsMapping?: Record<string, string[]>;
  actionsDefinition?: MitigationAction[];
}
export interface DescribeAuditSuppressionRequest {
  checkName: string | undefined;
  resourceIdentifier: ResourceIdentifier | undefined;
}
export interface DescribeAuditSuppressionResponse {
  checkName?: string;
  resourceIdentifier?: ResourceIdentifier;
  expirationDate?: Date;
  suppressIndefinitely?: boolean;
  description?: string;
}
export interface DescribeAuditTaskRequest {
  taskId: string | undefined;
}
export interface TaskStatistics {
  totalChecks?: number;
  inProgressChecks?: number;
  waitingForDataCollectionChecks?: number;
  compliantChecks?: number;
  nonCompliantChecks?: number;
  failedChecks?: number;
  canceledChecks?: number;
}
export interface DescribeAuditTaskResponse {
  taskStatus?: AuditTaskStatus;
  taskType?: AuditTaskType;
  taskStartTime?: Date;
  taskStatistics?: TaskStatistics;
  scheduledAuditName?: string;
  auditDetails?: Record<string, AuditCheckDetails>;
}
export interface DescribeAuthorizerRequest {
  authorizerName: string | undefined;
}
export interface DescribeAuthorizerResponse {
  authorizerDescription?: AuthorizerDescription;
}
export interface DescribeBillingGroupRequest {
  billingGroupName: string | undefined;
}
export interface BillingGroupMetadata {
  creationDate?: Date;
}
export interface DescribeBillingGroupResponse {
  billingGroupName?: string;
  billingGroupId?: string;
  billingGroupArn?: string;
  version?: number;
  billingGroupProperties?: BillingGroupProperties;
  billingGroupMetadata?: BillingGroupMetadata;
}
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;
  notAfter?: Date;
}
export interface CACertificateDescription {
  certificateArn?: string;
  certificateId?: string;
  status?: CACertificateStatus;
  certificatePem?: string;
  ownedBy?: string;
  creationDate?: Date;
  autoRegistrationStatus?: AutoRegistrationStatus;
  lastModifiedDate?: Date;
  customerVersion?: number;
  generationId?: string;
  validity?: CertificateValidity;
  certificateMode?: CertificateMode;
}
export interface RegistrationConfig {
  templateBody?: string;
  roleArn?: string;
  templateName?: string;
}
export interface DescribeCACertificateResponse {
  certificateDescription?: CACertificateDescription;
  registrationConfig?: RegistrationConfig;
}
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;
  rejectReason?: string;
  transferDate?: Date;
  acceptDate?: Date;
  rejectDate?: Date;
}
export interface CertificateDescription {
  certificateArn?: string;
  certificateId?: string;
  caCertificateId?: string;
  status?: CertificateStatus;
  certificatePem?: string;
  ownedBy?: string;
  previousOwnedBy?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
  customerVersion?: number;
  transferData?: TransferData;
  generationId?: string;
  validity?: CertificateValidity;
  certificateMode?: CertificateMode;
}
export interface DescribeCertificateResponse {
  certificateDescription?: CertificateDescription;
}
export interface DescribeCertificateProviderRequest {
  certificateProviderName: string | undefined;
}
export interface DescribeCertificateProviderResponse {
  certificateProviderName?: string;
  certificateProviderArn?: string;
  lambdaFunctionArn?: string;
  accountDefaultForOperations?: CertificateProviderOperation[];
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface DescribeCustomMetricRequest {
  metricName: string | undefined;
}
export interface DescribeCustomMetricResponse {
  metricName?: string;
  metricArn?: string;
  metricType?: CustomMetricType;
  displayName?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface DescribeDefaultAuthorizerRequest {}
export interface DescribeDefaultAuthorizerResponse {
  authorizerDescription?: AuthorizerDescription;
}
export interface DescribeDetectMitigationActionsTaskRequest {
  taskId: string | undefined;
}
export interface DetectMitigationActionsTaskTarget {
  violationIds?: string[];
  securityProfileName?: string;
  behaviorName?: string;
}
export interface DetectMitigationActionsTaskStatistics {
  actionsExecuted?: number;
  actionsSkipped?: number;
  actionsFailed?: number;
}
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;
  taskStatus?: DetectMitigationActionsTaskStatus;
  taskStartTime?: Date;
  taskEndTime?: Date;
  target?: DetectMitigationActionsTaskTarget;
  violationEventOccurrenceRange?: ViolationEventOccurrenceRange;
  onlyActiveViolationsIncluded?: boolean;
  suppressedAlertsIncluded?: boolean;
  actionsDefinition?: MitigationAction[];
  taskStatistics?: DetectMitigationActionsTaskStatistics;
}
export interface DescribeDetectMitigationActionsTaskResponse {
  taskSummary?: DetectMitigationActionsTaskSummary;
}
export interface DescribeDimensionRequest {
  name: string | undefined;
}
export interface DescribeDimensionResponse {
  name?: string;
  arn?: string;
  type?: DimensionType;
  stringValues?: string[];
  creationDate?: Date;
  lastModifiedDate?: Date;
}
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;
  serverCertificateStatus?: ServerCertificateStatus;
  serverCertificateStatusDetail?: string;
}
export interface DescribeDomainConfigurationResponse {
  domainConfigurationName?: string;
  domainConfigurationArn?: string;
  domainName?: string;
  serverCertificates?: ServerCertificateSummary[];
  authorizerConfig?: AuthorizerConfig;
  domainConfigurationStatus?: DomainConfigurationStatus;
  serviceType?: ServiceType;
  domainType?: DomainType;
  lastStatusChangeDate?: Date;
  tlsConfig?: TlsConfig;
  serverCertificateConfig?: ServerCertificateConfig;
}
export interface DescribeEndpointRequest {
  endpointType?: string;
}
export interface DescribeEndpointResponse {
  endpointAddress?: string;
}
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;
}
export interface DescribeEventConfigurationsResponse {
  eventConfigurations?: Partial<Record<EventType, Configuration>>;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface DescribeFleetMetricRequest {
  metricName: string | undefined;
}
export interface DescribeFleetMetricResponse {
  metricName?: string;
  queryString?: string;
  aggregationType?: AggregationType;
  period?: number;
  aggregationField?: string;
  description?: string;
  queryVersion?: string;
  indexName?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
  unit?: FleetMetricUnit;
  version?: number;
  metricArn?: string;
}
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;
  indexStatus?: IndexStatus;
  schema?: string;
}
export interface DescribeJobRequest {
  jobId: string | undefined;
}
export interface JobProcessDetails {
  processingTargets?: string[];
  numberOfCanceledThings?: number;
  numberOfSucceededThings?: number;
  numberOfFailedThings?: number;
  numberOfRejectedThings?: number;
  numberOfQueuedThings?: number;
  numberOfInProgressThings?: number;
  numberOfRemovedThings?: number;
  numberOfTimedOutThings?: number;
}
export interface ScheduledJobRollout {
  startTime?: string;
}
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;
  jobId?: string;
  targetSelection?: TargetSelection;
  status?: JobStatus;
  forceCanceled?: boolean;
  reasonCode?: string;
  comment?: string;
  targets?: string[];
  description?: string;
  presignedUrlConfig?: PresignedUrlConfig;
  jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig;
  abortConfig?: AbortConfig;
  createdAt?: Date;
  lastUpdatedAt?: Date;
  completedAt?: Date;
  jobProcessDetails?: JobProcessDetails;
  timeoutConfig?: TimeoutConfig;
  namespaceId?: string;
  jobTemplateArn?: string;
  jobExecutionsRetryConfig?: JobExecutionsRetryConfig;
  documentParameters?: Record<string, string>;
  isConcurrent?: boolean;
  schedulingConfig?: SchedulingConfig;
  scheduledJobRollouts?: ScheduledJobRollout[];
  destinationPackageVersions?: string[];
}
export interface DescribeJobResponse {
  documentSource?: string;
  job?: Job;
}
export interface DescribeJobExecutionRequest {
  jobId: string | undefined;
  thingName: string | undefined;
  executionNumber?: number;
}
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>;
}
export interface JobExecution {
  jobId?: string;
  status?: JobExecutionStatus;
  forceCanceled?: boolean;
  statusDetails?: JobExecutionStatusDetails;
  thingArn?: string;
  queuedAt?: Date;
  startedAt?: Date;
  lastUpdatedAt?: Date;
  executionNumber?: number;
  versionNumber?: number;
  approximateSecondsBeforeTimedOut?: number;
}
export interface DescribeJobExecutionResponse {
  execution?: JobExecution;
}
export interface DescribeJobTemplateRequest {
  jobTemplateId: string | undefined;
}
export interface DescribeJobTemplateResponse {
  jobTemplateArn?: string;
  jobTemplateId?: string;
  description?: string;
  documentSource?: string;
  document?: string;
  createdAt?: Date;
  presignedUrlConfig?: PresignedUrlConfig;
  jobExecutionsRolloutConfig?: JobExecutionsRolloutConfig;
  abortConfig?: AbortConfig;
  timeoutConfig?: TimeoutConfig;
  jobExecutionsRetryConfig?: JobExecutionsRetryConfig;
  maintenanceWindows?: MaintenanceWindow[];
  destinationPackageVersions?: string[];
}
export interface DescribeManagedJobTemplateRequest {
  templateName: string | undefined;
  templateVersion?: string;
}
export interface DocumentParameter {
  key?: string;
  description?: string;
  regex?: string;
  example?: string;
  optional?: boolean;
}
export interface DescribeManagedJobTemplateResponse {
  templateName?: string;
  templateArn?: string;
  description?: string;
  templateVersion?: string;
  environments?: string[];
  documentParameters?: DocumentParameter[];
  document?: string;
}
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;
  actionType?: MitigationActionType;
  actionArn?: string;
  actionId?: string;
  roleArn?: string;
  actionParams?: MitigationActionParams;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface DescribeProvisioningTemplateRequest {
  templateName: string | undefined;
}
export interface DescribeProvisioningTemplateResponse {
  templateArn?: string;
  templateName?: string;
  description?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
  defaultVersionId?: number;
  templateBody?: string;
  enabled?: boolean;
  provisioningRoleArn?: string;
  preProvisioningHook?: ProvisioningHook;
  type?: TemplateType;
}
export interface DescribeProvisioningTemplateVersionRequest {
  templateName: string | undefined;
  versionId: number | undefined;
}
export interface DescribeProvisioningTemplateVersionResponse {
  versionId?: number;
  creationDate?: Date;
  templateBody?: string;
  isDefaultVersion?: boolean;
}
export interface DescribeRoleAliasRequest {
  roleAlias: string | undefined;
}
export interface RoleAliasDescription {
  roleAlias?: string;
  roleAliasArn?: string;
  roleArn?: string;
  owner?: string;
  credentialDurationSeconds?: number;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface DescribeRoleAliasResponse {
  roleAliasDescription?: RoleAliasDescription;
}
export interface DescribeScheduledAuditRequest {
  scheduledAuditName: string | undefined;
}
export interface DescribeScheduledAuditResponse {
  frequency?: AuditFrequency;
  dayOfMonth?: string;
  dayOfWeek?: DayOfWeek;
  targetCheckNames?: string[];
  scheduledAuditName?: string;
  scheduledAuditArn?: string;
}
export interface DescribeSecurityProfileRequest {
  securityProfileName: string | undefined;
}
export interface DescribeSecurityProfileResponse {
  securityProfileName?: string;
  securityProfileArn?: string;
  securityProfileDescription?: string;
  behaviors?: Behavior[];
  alertTargets?: Partial<Record<AlertTargetType, AlertTarget>>;
  additionalMetricsToRetain?: string[];
  additionalMetricsToRetainV2?: MetricToRetain[];
  version?: number;
  creationDate?: Date;
  lastModifiedDate?: Date;
  metricsExportConfig?: MetricsExportConfig;
}
export interface DescribeStreamRequest {
  streamId: string | undefined;
}
export interface StreamInfo {
  streamId?: string;
  streamArn?: string;
  streamVersion?: number;
  description?: string;
  files?: StreamFile[];
  createdAt?: Date;
  lastUpdatedAt?: Date;
  roleArn?: string;
}
export interface DescribeStreamResponse {
  streamInfo?: StreamInfo;
}
export interface DescribeThingRequest {
  thingName: string | undefined;
}
export interface DescribeThingResponse {
  defaultClientId?: string;
  thingName?: string;
  thingId?: string;
  thingArn?: string;
  thingTypeName?: string;
  attributes?: Record<string, string>;
  version?: number;
  billingGroupName?: string;
}
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;
  groupArn?: string;
}
export interface ThingGroupMetadata {
  parentGroupName?: string;
  rootToParentThingGroups?: GroupNameAndArn[];
  creationDate?: Date;
}
export interface DescribeThingGroupResponse {
  thingGroupName?: string;
  thingGroupId?: string;
  thingGroupArn?: string;
  version?: number;
  thingGroupProperties?: ThingGroupProperties;
  thingGroupMetadata?: ThingGroupMetadata;
  indexName?: string;
  queryString?: string;
  queryVersion?: string;
  status?: DynamicGroupStatus;
}
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;
  creationDate?: Date;
  lastModifiedDate?: Date;
  templateBody?: string;
  inputFileBucket?: string;
  inputFileKey?: string;
  roleArn?: string;
  status?: Status;
  message?: string;
  successCount?: number;
  failureCount?: number;
  percentageProgress?: number;
}
export interface DescribeThingTypeRequest {
  thingTypeName: string | undefined;
}
export interface ThingTypeMetadata {
  deprecated?: boolean;
  deprecationDate?: Date;
  creationDate?: Date;
}
export interface DescribeThingTypeResponse {
  thingTypeName?: string;
  thingTypeId?: string;
  thingTypeArn?: string;
  thingTypeProperties?: ThingTypeProperties;
  thingTypeMetadata?: ThingTypeMetadata;
}
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 EnableTopicRuleRequest {
  ruleName: string | undefined;
}
export interface GetBehaviorModelTrainingSummariesRequest {
  securityProfileName?: string;
  maxResults?: number;
  nextToken?: string;
}
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;
  behaviorName?: string;
  trainingDataCollectionStartDate?: Date;
  modelStatus?: ModelStatus;
  datapointsCollectionPercentage?: number;
  lastModelRefreshDate?: Date;
}
export interface GetBehaviorModelTrainingSummariesResponse {
  summaries?: BehaviorModelTrainingSummary[];
  nextToken?: string;
}
export interface TermsAggregation {
  maxBuckets?: number;
}
export interface BucketsAggregationType {
  termsAggregation?: TermsAggregation;
}
export interface GetBucketsAggregationRequest {
  indexName?: string;
  queryString: string | undefined;
  aggregationField: string | undefined;
  queryVersion?: string;
  bucketsAggregationType: BucketsAggregationType | undefined;
}
export interface Bucket {
  keyValue?: string;
  count?: number;
}
export interface GetBucketsAggregationResponse {
  totalCount?: number;
  buckets?: Bucket[];
}
export interface GetCardinalityRequest {
  indexName?: string;
  queryString: string | undefined;
  aggregationField?: string;
  queryVersion?: string;
}
export interface GetCardinalityResponse {
  cardinality?: number;
}
export interface GetEffectivePoliciesRequest {
  principal?: string;
  cognitoIdentityPoolId?: string;
  thingName?: string;
}
export interface EffectivePolicy {
  policyName?: string;
  policyArn?: string;
  policyDocument?: string;
}
export interface GetEffectivePoliciesResponse {
  effectivePolicies?: EffectivePolicy[];
}
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;
  type?: FieldType;
}
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[];
  customFields?: Field[];
}
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;
  order?: TargetFieldOrder;
}
export interface IndexingFilter {
  namedShadowNames?: string[];
  geoLocations?: GeoLocationTarget[];
}
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;
  deviceDefenderIndexingMode?: DeviceDefenderIndexingMode;
  namedShadowIndexingMode?: NamedShadowIndexingMode;
  managedFields?: Field[];
  customFields?: Field[];
  filter?: IndexingFilter;
}
export interface GetIndexingConfigurationResponse {
  thingIndexingConfiguration?: ThingIndexingConfiguration;
  thingGroupIndexingConfiguration?: ThingGroupIndexingConfiguration;
}
export interface GetJobDocumentRequest {
  jobId: string | undefined;
}
export interface GetJobDocumentResponse {
  document?: string;
}
export interface GetLoggingOptionsRequest {}
export interface GetLoggingOptionsResponse {
  roleArn?: string;
  logLevel?: LogLevel;
}
export interface GetOTAUpdateRequest {
  otaUpdateId: string | undefined;
}
export interface ErrorInfo {
  code?: string;
  message?: string;
}
export interface OTAUpdateInfo {
  otaUpdateId?: string;
  otaUpdateArn?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
  description?: string;
  targets?: string[];
  protocols?: Protocol[];
  awsJobExecutionsRolloutConfig?: AwsJobExecutionsRolloutConfig;
  awsJobPresignedUrlConfig?: AwsJobPresignedUrlConfig;
  targetSelection?: TargetSelection;
  otaUpdateFiles?: OTAUpdateFile[];
  otaUpdateStatus?: OTAUpdateStatus;
  awsIotJobId?: string;
  awsIotJobArn?: string;
  errorInfo?: ErrorInfo;
  additionalParameters?: Record<string, string>;
}
export interface GetOTAUpdateResponse {
  otaUpdateInfo?: OTAUpdateInfo;
}
export interface GetPackageRequest {
  packageName: string | undefined;
}
export interface GetPackageResponse {
  packageName?: string;
  packageArn?: string;
  description?: string;
  defaultVersionName?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface GetPackageConfigurationRequest {}
export interface VersionUpdateByJobsConfig {
  enabled?: boolean;
  roleArn?: string;
}
export interface GetPackageConfigurationResponse {
  versionUpdateByJobsConfig?: VersionUpdateByJobsConfig;
}
export interface GetPackageVersionRequest {
  packageName: string | undefined;
  versionName: string | undefined;
}
export interface GetPackageVersionResponse {
  packageVersionArn?: string;
  packageName?: string;
  versionName?: string;
  description?: string;
  attributes?: Record<string, string>;
  status?: PackageVersionStatus;
  errorReason?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
}
export interface GetPercentilesRequest {
  indexName?: string;
  queryString: string | undefined;
  aggregationField?: string;
  queryVersion?: string;
  percents?: number[];
}
export interface PercentPair {
  percent?: number;
  value?: number;
}
export interface GetPercentilesResponse {
  percentiles?: PercentPair[];
}
export interface GetPolicyRequest {
  policyName: string | undefined;
}
export interface GetPolicyResponse {
  policyName?: string;
  policyArn?: string;
  policyDocument?: string;
  defaultVersionId?: string;
  creationDate?: Date;
  lastModifiedDate?: Date;
  generationId?: string;
}
export interface GetPolicyVersionRequest {
  policyName: string | undefined;
  policyVersionId: string | undefined;
}
export interface GetPolicyVersionResponse {
  policyArn?: string;
  policyName?: string;
  policyDocument?: string;
  policyVersionId?: string;
  isDefaultVersion?: boolean;
  creationDate?: Date;
  lastModifiedDate?: Date;
  generationId?: string;
}
export interface GetRegistrationCodeRequest {}
export interface GetRegistrationCodeResponse {
  registrationCode?: string;
}
export interface GetStatisticsRequest {
  indexName?: string;
  queryString: string | undefined;
  aggregationField?: string;
  queryVersion?: string;
}
export interface Statistics {
  count?: number;
  average?: number;
  sum?: number;
  minimum?: number;
  maximum?: number;
  sumOfSquares?: number;
  variance?: number;
  stdDeviation?: number;
}
export interface GetStatisticsResponse {
  statistics?: Statistics;
}
export interface GetTopicRuleRequest {
  ruleName: string | undefined;
}
export interface TopicRule {
  ruleName?: string;
  sql?: string;
  description?: string;
  createdAt?: Date;
  actions?: Action[];
  ruleDisabled?: boolean;
  awsIotSqlVersion?: string;
  errorAction?: Action;
}
export interface GetTopicRuleResponse {
  ruleArn?: string;
  rule?: TopicRule;
}
export interface GetTopicRuleDestinationRequest {
  arn: string | undefined;
}
export interface GetTopicRuleDestinationResponse {
  topicRuleDestination?: TopicRuleDestination;
}
export interface GetV2LoggingOptionsRequest {}
export interface GetV2LoggingOptionsResponse {
  roleArn?: string;
  defaultLogLevel?: LogLevel;
  disableAllLogs?: boolean;
}
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;
  securityProfileName?: string;
  behaviorCriteriaType?: BehaviorCriteriaType;
  listSuppressedAlerts?: boolean;
  verificationState?: VerificationState;
  nextToken?: string;
  maxResults?: number;
}
export interface ListActiveViolationsResponse {
  activeViolations?: ActiveViolation[];
  nextToken?: string;
}
export interface ListAttachedPoliciesRequest {
  target: string | undefined;
  recursive?: boolean;
  marker?: string;
  pageSize?: number;
}
export interface ListAttachedPoliciesResponse {
  policies?: Policy[];
  nextMarker?: string;
}
export interface ListAuditFindingsRequest {
  taskId?: string;
  checkName?: string;
  resourceIdentifier?: ResourceIdentifier;
  maxResults?: number;
  nextToken?: string;
  startTime?: Date;
  endTime?: Date;
  listSuppressedFindings?: boolean;
}
export interface ListAuditFindingsResponse {
  findings?: AuditFinding[];
  nextToken?: string;
}
export interface ListAuditMitigationActionsExecutionsRequest {
  taskId: string | undefined;
  actionStatus?: AuditMitigationActionsExecutionStatus;
  findingId: string | undefined;
  maxResults?: number;
  nextToken?: string;
}
export interface ListAuditMitigationActionsExecutionsResponse {
  actionsExecutions?: AuditMitigationActionExecutionMetadata[];
  nextToken?: string;
}
export interface ListAuditMitigationActionsTasksRequest {
  auditTaskId?: string;
  findingId?: string;
  taskStatus?: AuditMitigationActionsTaskStatus;
  maxResults?: number;
  nextToken?: string;
  startTime: Date | undefined;
  endTime: Date | undefined;
}
export interface ListAuditMitigationActionsTasksResponse {
  tasks?: AuditMitigationActionsTaskMetadata[];
  nextToken?: string;
}
export interface ListAuditSuppressionsRequest {
  checkName?: string;
  resourceIdentifier?: ResourceIdentifier;
  ascendingOrder?: boolean;
  nextToken?: string;
  maxResults?: number;
}
export interface ListAuditSuppressionsResponse {
  suppressions?: AuditSuppression[];
  nextToken?: string;
}
export interface ListAuditTasksRequest {
  startTime: Date | undefined;
  endTime: Date | undefined;
  taskType?: AuditTaskType;
  taskStatus?: AuditTaskStatus;
  nextToken?: string;
  maxResults?: number;
}
export interface ListAuditTasksResponse {
  tasks?: AuditTaskMetadata[];
  nextToken?: string;
}
export interface ListAuthorizersRequest {
  pageSize?: number;
  marker?: string;
  ascendingOrder?: boolean;
  status?: AuthorizerStatus;
}
export interface ListAuthorizersResponse {
  authorizers?: AuthorizerSummary[];
  nextMarker?: string;
}
export interface ListBillingGroupsRequest {
  nextToken?: string;
  maxResults?: number;
  namePrefixFilter?: string;
}
export interface ListBillingGroupsResponse {
  billingGroups?: GroupNameAndArn[];
  nextToken?: string;
}
export interface ListCACertificatesRequest {
  pageSize?: number;
  marker?: string;
  ascendingOrder?: boolean;
  templateName?: string;
}
export interface CACertificate {
  certificateArn?: string;
  certificateId?: string;
  status?: CACertificateStatus;
  creationDate?: Date;
}
export interface ListCACertificatesResponse {
  certificates?: CACertificate[];
  nextMarker?: string;
}
export interface ListCertificateProvidersRequest {
  nextToken?: string;
  ascendingOrder?: boolean;
}
export interface CertificateProviderSummary {
  certificateProviderName?: string;
  certificateProviderArn?: string;
}
export interface ListCertificateProvidersResponse {
  certificateProviders?: CertificateProviderSummary[];
  nextToken?: string;
}
export interface ListCertificatesRequest {
  pageSize?: number;
  marker?: string;
  ascendingOrder?: boolean;
}
export interface Certificate {
  certificateArn?: string;
  certificateId?: string;
  status?: CertificateStatus;
  certificateMode?: CertificateMode;
  creationDate?: Date;
}
export interface ListCertificatesResponse {
  certificates?: Certificate[];
  nextMarker?: string;
}
export interface ListCertificatesByCARequest {
  caCertificateId: string | undefined;
  pageSize?: number;
  marker?: string;
  ascendingOrder?: boolean;
}
export interface ListCertificatesByCAResponse {
  certificates?: Certificate[];
  nextMarker?: string;
}
export interface ListCustomMetricsRequest {
  nextToken?: string;
  maxResults?: number;
}
export interface ListCustomMetricsResponse {
  metricNames?: string[];
  nextToken?: string;
}
export interface ListDetectMitigationActionsExecutionsRequest {
  taskId?: string;
  violationId?: string;
  thingName?: string;
  startTime?: Date;
  endTime?: Date;
  maxResults?: number;
  nextToken?: string;
}
export declare const DetectMitigationActionExecutionStatus: {
  readonly FAILED: "FAILED";
  readonly IN_PROGRESS: "IN_PROGRESS";
  readonly SKIPPED: "SKIPPED";
  readonly SUCCESSFUL: "SUCCESSFUL";
};
export type DetectMitigationActionExecutionStatus =
  (typeof DetectMitigationActionExecutionStatus)[keyof typeof DetectMitigationActionExecutionStatus];
export interface DetectMitigationActionExecution {
  taskId?: string;
  violationId?: string;
  actionName?: string;
  thingName?: string;
  executionStartDate?: Date;
  executionEndDate?: Date;
  status?: DetectMitigationActionExecutionStatus;
  errorCode?: string;
  message?: string;
}
export interface ListDetectMitigationActionsExecutionsResponse {
  actionsExecutions?: DetectMitigationActionExecution[];
  nextToken?: string;
}
export interface ListDetectMitigationActionsTasksRequest {
  maxResults?: number;
  nextToken?: string;
  startTime: Date | undefined;
  endTime: Date | undefined;
}
export interface ListDetectMitigationActionsTasksResponse {
  tasks?: DetectMitigationActionsTaskSummary[];
  nextToken?: string;
}
export interface ListDimensionsRequest {
  nextToken?: string;
  maxResults?: number;
}
export interface ListDimensionsResponse {
  dimensionNames?: string[];
  nextToken?: string;
}
export interface ListDomainConfigurationsRequest {
  marker?: string;
  pageSize?: number;
  serviceType?: ServiceType;
}
export interface DomainConfigurationSummary {
  domainConfigurationName?: string;
  domainConfigurationArn?: string;
  serviceType?: ServiceType;
}
export interface ListDomainConfigurationsResponse {
  domainConfigurations?: DomainConfigurationSummary[];
  nextMarker?: string;
}
export interface ListFleetMetricsRequest {
  nextToken?: string;
  maxResults?: number;
}
export interface FleetMetricNameAndArn {
  metricName?: string;
  metricArn?: string;
}
export interface ListFleetMetricsResponse {
  fleetMetrics?: FleetMetricNameAndArn[];
  nextToken?: string;
}
export interface ListIndicesRequest {
  nextToken?: string;
  maxResults?: number;
}
export interface ListIndicesResponse {
  indexNames?: string[];
  nextToken?: string;
}
export interface ListJobExecutionsForJobRequest {
  jobId: string | undefined;
  status?: JobExecutionStatus;
  maxResults?: number;
  nextToken?: string;
}
export interface JobExecutionSummary {
  status?: JobExecutionStatus;
  queuedAt?: Date;
  startedAt?: Date;
  lastUpdatedAt?: Date;
  executionNumber?: number;
  retryAttempt?: number;
}
export interface JobExecutionSummaryForJob {
  thingArn?: string;
  jobExecutionSummary?: JobExecutionSummary;
}
export interface ListJobExecutionsForJobResponse {
  executionSummaries?: JobExecutionSummaryForJob[];
  nextToken?: string;
}
export interface ListJobExecutionsForThingRequest {
  thingName: string | undefined;
  status?: JobExecutionStatus;
  namespaceId?: string;
  maxResults?: number;
  nextToken?: string;
  jobId?: string;
}
export interface JobExecutionSummaryForThing {
  jobId?: string;
  jobExecutionSummary?: JobExecutionSummary;
}
export interface ListJobExecutionsForThingResponse {
  executionSummaries?: JobExecutionSummaryForThing[];
  nextToken?: string;
}
export interface ListJobsRequest {
  status?: JobStatus;
  targetSelection?: TargetSelection;
  maxResults?: number;
  nextToken?: string;
  thingGroupName?: string;
  thingGroupId?: string;
  namespaceId?: string;
}
export interface JobSummary {
  jobArn?: string;
  jobId?: string;
  thingGroupId?: string;
  targetSelection?: TargetSelection;
  status?: JobStatus;
  createdAt?: Date;
  lastUpdatedAt?: Date;
  completedAt?: Date;
  isConcurrent?: boolean;
}
export interface ListJobsResponse {
  jobs?: JobSummary[];
  nextToken?: string;
}
export interface ListJobTemplatesRequest {
  maxResults?: number;
  nextToken?: string;
}
export interface JobTemplateSummary {
  jobTemplateArn?: string;
  jobTemplateId?: string;
  description?: string;
  createdAt?: Date;
}
export interface ListJobTemplatesResponse {
  jobTemplates?: JobTemplateSummary[];
  nextToken?: string;
}
export interface ListManagedJobTemplatesRequest {
  templateName?: string;
  maxResults?: number;
  nextToken?: string;
}
export interface ManagedJobTemplateSummary {
  templateArn?: string;
  templateName?: string;
  description?: string;
  environments?: string[];
  templateVersion?: string;
}
export interface ListManagedJobTemplatesResponse {
  managedJobTemplates?: ManagedJobTemplateSummary[];
  nextToken?: string;
}
export interface ListMetricValuesRequest {
  thingName: string | undefined;
  metricName: string | undefined;
  dimensionName?: string;
  dimensionValueOperator?: DimensionValueOperator;
  startTime: Date | undefined;
  endTime: Date | undefined;
  maxResults?: number;
  nextToken?: string;
}
export interface MetricDatum {
  timestamp?: Date;
  value?: MetricValue;
}
export interface ListMetricValuesResponse {
  metricDatumList?: MetricDatum[];
  nextToken?: string;
}
export interface ListMitigationActionsRequest {
  actionType?: MitigationActionType;
  maxResults?: number;
  nextToken?: string;
}
export interface MitigationActionIdentifier {
  actionName?: string;
  actionArn?: string;
  creationDate?: Date;
}
export interface ListMitigationActionsResponse {
  actionIdentifiers?: MitigationActionIdentifier[];
  nextToken?: string;
}
export interface ListOTAUpdatesRequest {
  maxResults?: number;
  nextToken?: string;
  otaUpdateStatus?: OTAUpdateStatus;
}
export interface OTAUpdateSummary {
  otaUpdateId?: string;
  otaUpdateArn?: string;
  creationDate?: Date;
}
export interface ListOTAUpdatesResponse {
  otaUpdates?: OTAUpdateSummary[];
  nextToken?: string;
}
export declare const GetPackageResponseFilterSensitiveLog: (
  obj: GetPackageResponse
) => any;
export declare const GetPackageVersionResponseFilterSensitiveLog: (
  obj: GetPackageVersionResponse
) => any;
