import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
import * as awsx from "@pulumi/awsx";
import * as random from "@pulumi/random";
export interface PostgresRdsClusterArgs {
    vpc: awsx.ec2.Vpc;
    securityGroups?: aws.ec2.SecurityGroup[];
    subnetIds?: pulumi.Input<string[]>;
    ingressType?: "public" | "private";
    clusterConfig?: aws.rds.ClusterArgs;
    databaseConfigs?: (Omit<aws.rds.ClusterInstanceArgs, 'clusterIdentifier'> | aws.rds.ClusterInstanceArgs)[];
}
export declare const defaultPostgresRdsClusterArgs: PostgresRdsClusterArgs;
export declare class PostgresRdsCluster extends pulumi.ComponentResource {
    _args: PostgresRdsClusterArgs;
    vpc: awsx.ec2.Vpc;
    password?: pulumi.Input<string> | random.RandomPassword;
    dbCluster: aws.rds.Cluster;
    connectionStringSecret: aws.secretsmanager.Secret;
    databases: aws.rds.ClusterInstance[];
    securityGroups: aws.ec2.SecurityGroup[];
    subnetGroup: aws.rds.SubnetGroup;
    constructor(name?: string, args?: PostgresRdsClusterArgs, opts?: pulumi.ComponentResourceOptions);
    getDbCluster(): aws.rds.Cluster;
    getDatabases(): aws.rds.ClusterInstance[];
    getSecurityGroups(): aws.ec2.SecurityGroup[];
    getSubnetGroup(): aws.rds.SubnetGroup;
    getVpc(): awsx.ec2.Vpc;
    private getPassword;
    private getConnectionStringSecret;
    private getPasswordValue;
}
