import * as core from "@terrascript/core";
export interface ClusterEndpointArgs extends core.SchemaArgs {
    address: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class ClusterEndpoint extends core.Schema<ClusterEndpointArgs> {
    address: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface EndpointArgs extends core.SchemaArgs {
    address: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Endpoint extends core.Schema<EndpointArgs> {
    address: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface NodesArgs extends core.SchemaArgs {
    availabilityZone: string | core.StringOut;
    createTime: string | core.StringOut;
    endpoint: core.Array<Endpoint> | core.ArrayOut<Endpoint>;
    name: string | core.StringOut;
}
export declare class Nodes extends core.Schema<NodesArgs> {
    availabilityZone: string | core.StringOut;
    createTime: string | core.StringOut;
    endpoint: core.Array<Endpoint> | core.ArrayOut<Endpoint>;
    name: string | core.StringOut;
}
export interface ShardsArgs extends core.SchemaArgs {
    name: string | core.StringOut;
    nodes: core.Array<Nodes> | core.ArrayOut<Nodes>;
    numNodes: number | core.NumberOut;
    slots: string | core.StringOut;
}
export declare class Shards extends core.Schema<ShardsArgs> {
    name: string | core.StringOut;
    nodes: core.Array<Nodes> | core.ArrayOut<Nodes>;
    numNodes: number | core.NumberOut;
    slots: string | core.StringOut;
}
export interface DsClusterArgs {
    name: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsCluster extends core.Data<DsClusterArgs> {
    aclName: string | core.StringOut;
    arn: string | core.StringOut;
    autoMinorVersionUpgrade: boolean | core.BooleanOut;
    clusterEndpoint: core.Array<ClusterEndpoint> | core.ArrayOut<ClusterEndpoint>;
    description: string | core.StringOut;
    enginePatchVersion: string | core.StringOut;
    engineVersion: string | core.StringOut;
    finalSnapshotName: string | core.StringOut;
    id: string | core.StringOut;
    kmsKeyArn: string | core.StringOut;
    maintenanceWindow: string | core.StringOut;
    name: string | core.StringOut;
    nodeType: string | core.StringOut;
    numReplicasPerShard: number | core.NumberOut;
    numShards: number | core.NumberOut;
    parameterGroupName: string | core.StringOut;
    port: number | core.NumberOut;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    shards: core.Array<Shards> | core.ArrayOut<Shards>;
    snapshotRetentionLimit: number | core.NumberOut;
    snapshotWindow: string | core.StringOut;
    snsTopicArn: string | core.StringOut;
    subnetGroupName: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tlsEnabled: boolean | core.BooleanOut;
    constructor(name: string, args?: DsClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_cluster.d.ts.map