import { Credentials, DatabaseSecret, IParameterGroup, ServerlessCluster, ServerlessScalingOptions, ServerlessClusterProps, IClusterEngine } from 'aws-cdk-lib/aws-rds'; import { IVpc, SelectedSubnets } from 'aws-cdk-lib/aws-ec2'; import { Stack } from 'aws-cdk-lib'; export type ServerlessRdsConfiguration = Readonly<{ username: string; defaultDatabaseName: string; scaling: ServerlessScalingOptions; }>; export type ServerlessRdsInput = Readonly<{ clusterName: string; selectedSubnets: SelectedSubnets; vpc: IVpc; credentials: Credentials; }>; export type EngineConfiguration = Readonly<{ engine: IClusterEngine; parameterGroup: IParameterGroup; }>; /** Builds a serverless RDS configuration from scaling options, database name, and username. */ export declare const withServerlessRdsConfiguration: (deps: { serverlessScalingOptions: ServerlessScalingOptions; }) => (databaseName: string, username: string) => ServerlessRdsConfiguration; /** Returns an engine configuration for Aurora PostgreSQL 10. */ export declare const withAuroraPostgresSql10EngineConfiguration: (deps: { stack: Stack; parameterGroupId: string; }) => EngineConfiguration; /** Creates a Secrets Manager secret containing database credentials. */ export declare const withDatabaseCredentials: (deps: { stack: Stack; }) => (name: string, username: string) => DatabaseSecret; /** Creates a Serverless Aurora RDS cluster with the configured engine and scaling options. */ export declare const withServerlessRds: (deps: { stack: Stack; serverlessRdsConfiguration: ServerlessRdsConfiguration; engineConfiguration: EngineConfiguration; }) => (input: ServerlessRdsInput, configuration?: Partial) => ServerlessCluster; //# sourceMappingURL=rds.d.ts.map