import type { ResourceBase, VPC } from "../Common";
import type { ExternalResourceType } from "../ExternalResource";
import type { RelationalDBClusterType } from "./Cluster";
import type { RelationalDBEngine } from "./common";
import type { RelationalDBInstanceType } from "./Instance";
export declare type RelationalDBProxyType = 'resource.rdb.proxy';
export declare type RDSProxyTargetType = ExternalResourceType | RDSProxyTargetTypeNoExternal;
export declare type RDSProxyTargetTypeNoExternal = RelationalDBClusterType | RelationalDBInstanceType;
export interface RelationalDBProxy extends ResourceBase {
    type: RelationalDBProxyType;
    connectionTimeout?: number;
    connectionPoolConfiguration?: ConnectionPoolConfigurations;
    vpc: VPC;
}
export interface ConnectionPoolConfigurations {
    connectionBorrowTimeout?: number;
    maxConnectionsPercent?: number;
    maxIdleConnectionsPercent?: number;
}
export declare const isConnectionPoolConfiguration: import("@altostra/type-validations").ObjectOfTypeValidation<ConnectionPoolConfigurations>;
export declare const isRelationalDBProxy: import("@altostra/type-validations").ObjectOfTypeValidation<RelationalDBProxy>;
export declare function isDbVersionValidForProxy(version: string, engine: RelationalDBEngine): boolean;
