import * as core from "@terrascript/core";
export interface ClusterConfigurationArgs extends core.SchemaArgs {
    description: string | core.StringOut;
    engineVersion: string | core.StringOut;
    maintenanceWindow: string | core.StringOut;
    name: string | core.StringOut;
    nodeType: string | core.StringOut;
    numShards: number | core.NumberOut;
    parameterGroupName: string | core.StringOut;
    port: number | core.NumberOut;
    snapshotRetentionLimit: number | core.NumberOut;
    snapshotWindow: string | core.StringOut;
    subnetGroupName: string | core.StringOut;
    topicArn: string | core.StringOut;
    vpcId: string | core.StringOut;
}
export declare class ClusterConfiguration extends core.Schema<ClusterConfigurationArgs> {
    description: string | core.StringOut;
    engineVersion: string | core.StringOut;
    maintenanceWindow: string | core.StringOut;
    name: string | core.StringOut;
    nodeType: string | core.StringOut;
    numShards: number | core.NumberOut;
    parameterGroupName: string | core.StringOut;
    port: number | core.NumberOut;
    snapshotRetentionLimit: number | core.NumberOut;
    snapshotWindow: string | core.StringOut;
    subnetGroupName: string | core.StringOut;
    topicArn: string | core.StringOut;
    vpcId: string | core.StringOut;
}
export interface SnapshotArgs extends core.ResourceArgs {
    clusterName: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class Snapshot extends core.Resource<SnapshotArgs> {
    arn: string | core.StringOut;
    clusterConfiguration: core.Array<ClusterConfiguration> | core.ArrayOut<ClusterConfiguration>;
    clusterName: string | core.StringOut;
    id: string | core.StringOut;
    kmsKeyArn?: string | core.StringOut;
    name?: string | core.StringOut;
    namePrefix?: string | core.StringOut;
    source: 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?: SnapshotArgs);
    getNamespace(): string;
}
//# sourceMappingURL=snapshot.d.ts.map