import * as core from "@terrascript/core";
export interface CacheNodesArgs extends core.SchemaArgs {
    address: string | core.StringOut;
    availabilityZone: string | core.StringOut;
    id: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class CacheNodes extends core.Schema<CacheNodesArgs> {
    address: string | core.StringOut;
    availabilityZone: string | core.StringOut;
    id: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface LogDeliveryConfigurationArgs extends core.SchemaArgs {
    destination: string | core.StringOut;
    destinationType: string | core.StringOut;
    logFormat: string | core.StringOut;
    logType: string | core.StringOut;
}
export declare class LogDeliveryConfiguration extends core.Schema<LogDeliveryConfigurationArgs> {
    destination: string | core.StringOut;
    destinationType: string | core.StringOut;
    logFormat: string | core.StringOut;
    logType: string | core.StringOut;
}
export interface DsClusterArgs {
    clusterId: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class DsCluster extends core.Data<DsClusterArgs> {
    arn: string | core.StringOut;
    availabilityZone: string | core.StringOut;
    cacheNodes: core.Array<CacheNodes> | core.ArrayOut<CacheNodes>;
    clusterAddress: string | core.StringOut;
    clusterId: string | core.StringOut;
    configurationEndpoint: string | core.StringOut;
    engine: string | core.StringOut;
    engineVersion: string | core.StringOut;
    id: string | core.StringOut;
    logDeliveryConfiguration: core.Array<LogDeliveryConfiguration> | core.ArrayOut<LogDeliveryConfiguration>;
    maintenanceWindow: string | core.StringOut;
    nodeType: string | core.StringOut;
    notificationTopicArn: string | core.StringOut;
    numCacheNodes: number | core.NumberOut;
    parameterGroupName: string | core.StringOut;
    port: number | core.NumberOut;
    replicationGroupId: string | core.StringOut;
    securityGroupIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    securityGroupNames: core.Array<string> | core.ArrayOut<core.StringOut>;
    snapshotRetentionLimit: number | core.NumberOut;
    snapshotWindow: string | core.StringOut;
    subnetGroupName: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    constructor(name: string, args?: DsClusterArgs);
    getNamespace(): string;
}
//# sourceMappingURL=ds_cluster.d.ts.map