import * as cdk from "../../core/lib";
import * as constructs from "constructs";
import * as cfn_parse from "../../core/lib/helpers-internal";
import { DatastoreReference, IDatastoreRef } from "../../interfaces/generated/aws-healthimaging-interfaces.generated";
/**
 * Create a data store.
 *
 * @cloudformationResource AWS::HealthImaging::Datastore
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html
 */
export declare class CfnDatastore extends cdk.CfnResource implements cdk.IInspectable, IDatastoreRef, cdk.ITaggableV2 {
    /**
     * The CloudFormation resource type name for this resource class.
     */
    static readonly CFN_RESOURCE_TYPE_NAME: string;
    /**
     * Build a CfnDatastore from CloudFormation properties
     *
     * A factory method that creates a new instance of this class from an object
     * containing the CloudFormation properties of this resource.
     * Used in the @aws-cdk/cloudformation-include module.
     *
     * @internal
     */
    static _fromCloudFormation(scope: constructs.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnDatastore;
    /**
     * Checks whether the given object is a CfnDatastore
     */
    static isCfnDatastore(x: any): x is CfnDatastore;
    /**
     * Creates a new IDatastoreRef from an ARN
     */
    static fromDatastoreArn(scope: constructs.Construct, id: string, arn: string): IDatastoreRef;
    /**
     * Creates a new IDatastoreRef from a datastoreId
     */
    static fromDatastoreId(scope: constructs.Construct, id: string, datastoreId: string): IDatastoreRef;
    static arnForDatastore(resource: IDatastoreRef): string;
    /**
     * Tag Manager which manages the tags for this resource
     */
    readonly cdkTagManager: cdk.TagManager;
    /**
     * The data store name.
     */
    private _datastoreName?;
    /**
     * The Amazon Resource Name (ARN) assigned to the Key Management Service (KMS) key for accessing encrypted data.
     */
    private _kmsKeyArn?;
    /**
     * The tags provided when creating a data store.
     */
    private _tags?;
    protected readonly cfnPropertyNames: Record<string, string>;
    /**
     * Create a new `AWS::HealthImaging::Datastore`.
     *
     * @param scope Scope in which this resource is defined
     * @param id Construct identifier for this resource (unique in its scope)
     * @param props Resource properties
     */
    constructor(scope: constructs.Construct, id: string, props?: CfnDatastoreProps);
    get datastoreRef(): DatastoreReference;
    /**
     * The data store name.
     */
    get datastoreName(): string | undefined;
    /**
     * The data store name.
     */
    set datastoreName(value: string | undefined);
    /**
     * The Amazon Resource Name (ARN) assigned to the Key Management Service (KMS) key for accessing encrypted data.
     */
    get kmsKeyArn(): string | undefined;
    /**
     * The Amazon Resource Name (ARN) assigned to the Key Management Service (KMS) key for accessing encrypted data.
     */
    set kmsKeyArn(value: string | undefined);
    /**
     * The tags provided when creating a data store.
     */
    get tags(): Record<string, string> | undefined;
    /**
     * The tags provided when creating a data store.
     */
    set tags(value: Record<string, string> | undefined);
    /**
     * The timestamp when the data store was created.
     *
     * @cloudformationAttribute CreatedAt
     */
    get attrCreatedAt(): string;
    /**
     * The Amazon Resource Name (ARN) for the data store.
     *
     * @cloudformationAttribute DatastoreArn
     */
    get attrDatastoreArn(): string;
    /**
     * The data store identifier.
     *
     * @cloudformationAttribute DatastoreId
     */
    get attrDatastoreId(): string;
    /**
     * The data store status.
     *
     * @cloudformationAttribute DatastoreStatus
     */
    get attrDatastoreStatus(): string;
    /**
     * The timestamp when the data store was last updated.
     *
     * @cloudformationAttribute UpdatedAt
     */
    get attrUpdatedAt(): string;
    protected get cfnProperties(): Record<string, any>;
    /**
     * Examines the CloudFormation resource and discloses attributes
     *
     * @param inspector tree inspector to collect and process attributes
     */
    inspect(inspector: cdk.TreeInspector): void;
    protected renderProperties(props: Record<string, any>): Record<string, any>;
}
/**
 * Properties for defining a `CfnDatastore`
 *
 * @struct
 * @stability external
 * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html
 */
export interface CfnDatastoreProps {
    /**
     * The data store name.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html#cfn-healthimaging-datastore-datastorename
     */
    readonly datastoreName?: string;
    /**
     * The Amazon Resource Name (ARN) assigned to the Key Management Service (KMS) key for accessing encrypted data.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html#cfn-healthimaging-datastore-kmskeyarn
     */
    readonly kmsKeyArn?: string;
    /**
     * The tags provided when creating a data store.
     *
     * @see http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthimaging-datastore.html#cfn-healthimaging-datastore-tags
     */
    readonly tags?: Record<string, string>;
}
export type { IDatastoreRef, DatastoreReference };
