import * as cdk from "aws-cdk-lib";
import * as constructs from "constructs";
/**
 * Returns and edits the Encryption at Rest using Customer Key Management configuration.
 *
 * @schema CfnEncryptionAtRestProps
 */
export interface CfnEncryptionAtRestProps {
    /**
     * @schema CfnEncryptionAtRestProps#AwsKmsConfig
     */
    readonly awsKmsConfig: AwsKmsConfig;
    /**
     * The profile is defined in AWS Secret manager. See [Secret Manager Profile setup](../../../examples/profile-secret.yaml).
     *
     * @schema CfnEncryptionAtRestProps#Profile
     */
    readonly profile?: string;
    /**
     * Unique identifier of the Atlas project to which the user belongs.
     *
     * @schema CfnEncryptionAtRestProps#ProjectId
     */
    readonly projectId: string;
}
/**
 * Converts an object of type 'CfnEncryptionAtRestProps' to JSON representation.
 */
export declare function toJson_CfnEncryptionAtRestProps(obj: CfnEncryptionAtRestProps | undefined): Record<string, any> | undefined;
/**
 * Specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.
 *
 * @schema AwsKmsConfig
 */
export interface AwsKmsConfig {
    /**
     * ID of an AWS IAM role authorized to manage an AWS customer master key.
     *
     * @schema AwsKmsConfig#RoleID
     */
    readonly roleId?: string;
    /**
     * The AWS customer master key used to encrypt and decrypt the MongoDB master keys.
     *
     * @schema AwsKmsConfig#CustomerMasterKeyID
     */
    readonly customerMasterKeyId?: string;
    /**
     * Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.
     *
     * @schema AwsKmsConfig#Enabled
     */
    readonly enabled?: boolean;
    /**
     * The AWS region in which the AWS customer master key exists.
     *
     * @schema AwsKmsConfig#Region
     */
    readonly region?: string;
}
/**
 * Converts an object of type 'AwsKmsConfig' to JSON representation.
 */
export declare function toJson_AwsKmsConfig(obj: AwsKmsConfig | undefined): Record<string, any> | undefined;
/**
 * A CloudFormation `MongoDB::Atlas::EncryptionAtRest`
 *
 * @cloudformationResource MongoDB::Atlas::EncryptionAtRest
 * @stability external
 */
export declare class CfnEncryptionAtRest extends cdk.CfnResource {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::EncryptionAtRest";
    /**
     * Resource props.
     */
    readonly props: CfnEncryptionAtRestProps;
    /**
     * Attribute `MongoDB::Atlas::EncryptionAtRest.Id`
     */
    readonly attrId: string;
    /**
     * Create a new `MongoDB::Atlas::EncryptionAtRest`.
     *
     * @param scope - scope in which this resource is defined
     * @param id    - scoped id of the resource
     * @param props - resource properties
     */
    constructor(scope: constructs.Construct, id: string, props: CfnEncryptionAtRestProps);
}
