import { Value } from '../../cloudformation/Value';
import { AuditCheckConfigurationsProps } from './accountauditconfiguration/AuditCheckConfigurationsProps';
import { AuditNotificationTargetConfigurationsProps } from './accountauditconfiguration/AuditNotificationTargetConfigurationsProps';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  Use the <code>AWS::IoT::AccountAuditConfiguration</code> resource to configure or reconfigure the Device Defender audit settings for your account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. For API reference, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateAccountAuditConfiguration.html">UpdateAccountAuditConfiguration</a> and for detailed information on all available audit checks, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit-checks.html">Audit checks</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html">the AWS Docs</a>
*/
export type AccountAuditConfiguration = AwsResource<'AWS::IoT::AccountAuditConfiguration', AccountAuditConfigurationProperties>;
export declare function accountAuditConfiguration(accountAuditConfigurationProps: AccountAuditConfigurationProperties): AccountAuditConfiguration;
/**
  Use the <code>AWS::IoT::AccountAuditConfiguration</code> resource to configure or reconfigure the Device Defender audit settings for your account. Settings include how audit notifications are sent and which audit checks are enabled or disabled. For API reference, see <a href="https://docs.aws.amazon.com/iot/latest/apireference/API_UpdateAccountAuditConfiguration.html">UpdateAccountAuditConfiguration</a> and for detailed information on all available audit checks, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-audit-checks.html">Audit checks</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-accountauditconfiguration.html">the AWS Docs</a>
*/
export interface AccountAuditConfigurationProperties {
    /** <code>AccountId</code>  <a name="cfn-iot-accountauditconfiguration-accountid"></a>
  The ID of the account. You can use the expression <code>!Sub &quot;${AWS::AccountId}&quot;</code> to use your account ID.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    accountId: Value<string>;
    /** <code>AuditCheckConfigurations</code>  <a name="cfn-iot-accountauditconfiguration-auditcheckconfigurations"></a>
  Specifies which audit checks are enabled and disabled for this account.<br />
  Some data collection might start immediately when certain checks are enabled. When a check is disabled, any data collected so far in relation to the check is deleted. To disable a check, set the value of the <code>Enabled:</code> key to <code>false</code>.<br />
  If an enabled check is removed from the template, it will also be disabled.<br />
  You can’t disable a check if it’s used by any scheduled audit. You must delete the check from the scheduled audit or delete the scheduled audit itself to disable the check.<br />
  For more information on avialbe auidt checks see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-accountauditconfiguration-auditcheckconfigurations.html">AWS::IoT::AccountAuditConfiguration AuditCheckConfigurations</a><br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    auditCheckConfigurations: AuditCheckConfigurationsProps;
    /** <code>AuditNotificationTargetConfigurations</code>  <a name="cfn-iot-accountauditconfiguration-auditnotificationtargetconfigurations"></a>
  Information about the targets to which audit notifications are sent.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    auditNotificationTargetConfigurations?: AuditNotificationTargetConfigurationsProps;
    /** <code>RoleArn</code>  <a name="cfn-iot-accountauditconfiguration-rolearn"></a>
  The Amazon Resource Name (ARN) of the role that grants permission to AWS IoT to access information about your devices, policies, certificates, and other items as required when performing an audit.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    roleArn: Value<string>;
}
