import { aws_route53 as r53, aws_ec2 as ec2, aws_iam as iam } from 'aws-cdk-lib';
import * as cdk from 'aws-cdk-lib';
import * as constructs from 'constructs';
export interface CrossAccountProps {
    readonly accountId: string;
    readonly roleName?: string;
}
export interface HubVpc {
    /**
     * what region is the central account in.
     */
    readonly region: string;
    readonly vpcSearchTag?: cdk.Tag | undefined;
    readonly crossAccount?: CrossAccountProps | undefined;
}
export interface EnterpriseZoneProps {
    readonly enterpriseDomainName: string;
    readonly localVpc: ec2.Vpc | ec2.IVpc;
    readonly hubVpcs: HubVpc[] | undefined;
}
/**
 * create forwarding rules and associate them with a vpc.
 */
export declare class EnterpriseZone extends constructs.Construct {
    readonly privateZone: r53.PrivateHostedZone;
    constructor(scope: constructs.Construct, id: string, props: EnterpriseZoneProps);
}
export interface CentralAccountAssnRoleProps {
    readonly vpc: ec2.Vpc | ec2.IVpc;
    readonly orgId: string;
    readonly roleName?: string | undefined;
}
export declare class CentralAccountAssnRole extends constructs.Construct {
    readonly assnRole: iam.Role;
    constructor(scope: constructs.Construct, id: string, props: CentralAccountAssnRoleProps);
}
