import { Stack, StackProps } from 'aws-cdk-lib';
import { InstanceClass, InstanceSize } from 'aws-cdk-lib/aws-ec2';
import { Construct } from 'constructs';
export interface AccessRule {
    readonly database: string;
    readonly port: number;
    readonly description: string;
}
export interface IIngressRule {
    readonly ipv4: string;
    readonly port: number;
    readonly description: string;
}
export interface ServiceStackProps extends StackProps {
    readonly amiId: string;
    readonly availabilityZones: string[];
    readonly backup?: string;
    readonly backupAccountId?: string;
    readonly instanceClass: InstanceClass;
    readonly instanceSize: InstanceSize;
    readonly instanceName: string;
    readonly keyName: string;
    readonly publicSubnetIds: string[];
    readonly volumeSize: number;
    readonly vpcId: string;
    readonly SGIngressRules?: IIngressRule[];
    readonly SGDBAccessRules?: AccessRule[];
    readonly domainName: string;
    readonly privateDomainName: string;
    readonly CnameList: string[];
}
export declare class EC2withDatabase extends Stack {
    constructor(scope: Construct, id: string, props: ServiceStackProps);
}
