import * as core from "@terrascript/core";
export interface ServerSideEncryptionArgs extends core.SchemaArgs {
    enabled?: boolean | core.BooleanOut;
}
export declare class ServerSideEncryption extends core.Schema<ServerSideEncryptionArgs> {
    enabled?: boolean | core.BooleanOut;
}
export interface NodesArgs extends core.SchemaArgs {
    address: string | core.StringOut;
    availabilityZone: string | core.StringOut;
    id: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Nodes extends core.Schema<NodesArgs> {
    address: string | core.StringOut;
    availabilityZone: string | core.StringOut;
    id: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface DaxClusterArgs extends core.ResourceArgs {
    availabilityZones?: core.Array<string> | core.ArrayOut<core.StringOut>;
    clusterEndpointEncryptionType?: string | core.StringOut;
    clusterName: string | core.StringOut;
    description?: string | core.StringOut;
    iamRoleArn: string | core.StringOut;
    maintenanceWindow?: string | core.StringOut;
    nodeType: string | core.StringOut;
    notificationTopicArn?: string | core.StringOut;
    parameterGroupName?: string | core.StringOut;
    replicationFactor: number | core.NumberOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    serverSideEncryption?: ServerSideEncryption;
    subnetGroupName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DaxCluster extends core.Resource<DaxClusterArgs> {
    arn: string | core.StringOut;
    availabilityZones?: core.Array<string> | core.ArrayOut<core.StringOut>;
    clusterAddress: string | core.StringOut;
    clusterEndpointEncryptionType?: string | core.StringOut;
    clusterName: string | core.StringOut;
    configurationEndpoint: string | core.StringOut;
    description?: string | core.StringOut;
    iamRoleArn: string | core.StringOut;
    id: string | core.StringOut;
    maintenanceWindow?: string | core.StringOut;
    nodeType: string | core.StringOut;
    nodes: core.Array<Nodes> | core.ArrayOut<Nodes>;
    notificationTopicArn?: string | core.StringOut;
    parameterGroupName?: string | core.StringOut;
    port: number | core.NumberOut;
    replicationFactor: number | core.NumberOut;
    securityGroupIds?: core.Array<string> | core.ArrayOut<core.StringOut>;
    serverSideEncryption?: ServerSideEncryption;
    subnetGroupName?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: DaxClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=dax_cluster.d.ts.map