import { Value } from '../../cloudformation/Value';
import { Attribute } from '../../cloudformation/Attribute';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
export type CertificateAttributes = {
    Id: Attribute<string>;
    Arn: Attribute<string>;
};
export type Certificate = AwsResource<'AWS::IoT::Certificate', CertificateProperties, CertificateAttributes>;
/**
  Use the <code>AWS::IoT::Certificate</code> resource to declare an AWS IoT X.509 certificate. For information about working with X.509 certificates, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 Client Certificates</a> in the <em>AWS IoT Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html">the AWS Docs</a>
*/
export declare function certificate(certificateProps: CertificateProperties): Certificate;
/**
  Use the <code>AWS::IoT::Certificate</code> resource to declare an AWS IoT X.509 certificate. For information about working with X.509 certificates, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/x509-client-certs.html">X.509 Client Certificates</a> in the <em>AWS IoT Developer Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-certificate.html">the AWS Docs</a>
*/
export interface CertificateProperties {
    /** <code>Status</code>  <a name="cfn-iot-certificate-status"></a>
  The status of the certificate.<br />
  Valid values are ACTIVE, INACTIVE, REVOKED, PENDING_TRANSFER, and PENDING_ACTIVATION.<br />
  The status value REGISTER_INACTIVE is deprecated and should not be used.<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> */
    status: Value<string>;
    /** <code>CACertificatePem</code>  <a name="cfn-iot-certificate-cacertificatepem"></a>
  The CA certificate used to sign the device certificate being registered, not available when CertificateMode is SNI_ONLY.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    cACertificatePem?: Value<string>;
    /** <code>CertificateMode</code>  <a name="cfn-iot-certificate-certificatemode"></a>
  Specifies which mode of certificate registration to use with this resource. Valid options are DEFAULT with CaCertificatePem and CertificatePem, SNI_ONLY with CertificatePem, and Default with CertificateSigningRequest.<br />
  <code>DEFAULT</code>: A certificate in <code>DEFAULT</code> mode is either generated by AWS IoT Core or registered with an issuer certificate authority (CA). Devices with certificates in <code>DEFAULT</code> mode aren’t required to send the Server Name Indication (SNI) extension when connecting to AWS IoT Core. However, to use features such as custom domains and VPC endpoints, we recommend that you use the SNI extension when connecting to AWS IoT Core.<br />
  <code>SNI_ONLY</code>: A certificate in <code>SNI_ONLY</code> mode is registered without an issuer CA. Devices with certificates in <code>SNI_ONLY</code> mode must send the SNI extension when connecting to AWS IoT Core.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    certificateMode?: Value<string>;
    /** <code>CertificateSigningRequest</code>  <a name="cfn-iot-certificate-certificatesigningrequest"></a>
  The certificate signing request (CSR).<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    certificateSigningRequest?: Value<string>;
    /** <code>CertificatePem</code>  <a name="cfn-iot-certificate-certificatepem"></a>
  The certificate data in PEM format. Requires SNI_ONLY for the certificate mode or the accompanying CACertificatePem for registration.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    certificatePem?: Value<string>;
}
