import * as redshift from '@aws-cdk/aws-redshift-alpha';
import { aws_ec2 as ec2, aws_iam as iam } from 'aws-cdk-lib';
import * as cdk from 'aws-cdk-lib';
import * as constructs from 'constructs';
import { RedShiftDatabase } from './database';
export interface RedshiftClusterProps {
    readonly clusterName: string;
    readonly masterUser: string;
    readonly vpc: ec2.Vpc | ec2.IVpc;
    readonly logging: redshift.LoggingProperties;
    readonly defaultrole: iam.Role;
    readonly defaultDBName?: string | undefined;
    readonly nodes?: number | undefined;
    readonly nodeType?: redshift.NodeType;
    readonly parameterGroup?: redshift.ClusterParameterGroup | undefined;
    readonly preferredMaintenanceWindow?: string | undefined;
    readonly removalPolicy?: cdk.RemovalPolicy | undefined;
    readonly subnetGroup: redshift.ClusterSubnetGroup;
}
/**
** Creates a PrivateRedShiftCluster
*/
export declare class PrivateRedshiftCluster extends constructs.Construct {
    readonly cluster: redshift.Cluster;
    readonly clusterSecurityGroup: ec2.SecurityGroup;
    readonly clusterParameters: redshift.ClusterParameterGroup;
    constructor(scope: constructs.Construct, id: string, props: RedshiftClusterProps);
    addDatabase(databaseName: string): RedShiftDatabase;
}
