import { App, Stack } from 'aws-cdk-lib';
import { StackProps } from 'aws-cdk-lib/core/lib/stack';
export interface RSWStackProps extends StackProps {
    solutionId: string;
    solutionName: string;
    solutionVersion: string;
}
export declare class RSWStack extends Stack {
    lambdaEnvVars: {
        STAGE: string;
        STACK_NAME: string;
        SSM_DOC_OUTPUT_KEY_SUFFIX: string;
        AMI_IDS_TO_SHARE: string;
        LAUNCH_CONSTRAINT_ROLE_OUTPUT_KEY: string;
        S3_ARTIFACT_BUCKET_ARN_OUTPUT_KEY: string;
        S3_DATASETS_BUCKET_ARN_OUTPUT_KEY: string;
        S3_DATASETS_BUCKET_NAME: string;
        ACCT_HANDLER_ARN_OUTPUT_KEY: string;
        API_HANDLER_ARN_OUTPUT_KEY: string;
        STATUS_HANDLER_ARN_OUTPUT_KEY: string;
        STATUS_HANDLER_ROLE_ARN_OUTPUT_KEY: string;
        SC_PORTFOLIO_NAME: string;
        ALLOWED_ORIGINS: string;
        COGNITO_DOMAIN: string;
        CLIENT_ID: string;
        CLIENT_SECRET: string;
        USER_POOL_ID: string;
        S3_DATASETS_ENCRYPTION_KEY_ARN_OUTPUT_KEY: string;
        S3_ARTIFACT_ENCRYPTION_KEY_ARN_OUTPUT_KEY: string;
        MAIN_ACCT_ALB_ARN_OUTPUT_KEY: string;
        MAIN_ACCT_ID: string;
        USER_AGENT_STRING: string;
    };
    private _accessLogsBucket;
    private _s3AccessLogsPrefix;
    private _swbDomainNameOutputKey;
    private _mainAccountLoadBalancerListenerArnOutputKey;
    private _isSolutionsBuild;
    private _API_LIMIT;
    constructor(app: App, props: RSWStackProps);
    private _createVpc;
    private _createLoadBalancer;
    private _createInitialOutputs;
    private _createLaunchConstraintIAMRole;
    /**
     * Create bucket for S3 access logs.
     * Note this bucket does not have sigv4/https policies because these restrict access log delivery.
     * Note this bucket uses S3 Managed encryption as a requirement for access logging.
     * @param bucketNameOutput - Name of Access Logs Bucket.
     * @returns S3Bucket
     */
    private _createAccessLogsBucket;
    private _addS3TLSSigV4BucketPolicy;
    private _addAccessPointDelegationStatement;
    private _createS3ArtifactsBuckets;
    private _createS3DatasetsBuckets;
    private _createSecureS3Bucket;
    private _createStatusHandlerLambda;
    private _createAccountHandlerLambda;
    private _createAPILambda;
    private _createRestApi;
    private _createDynamicAuthDDBTable;
    private _createRevokedTokensDDBTable;
    private _createApplicationDDBTable;
    private _createCognitoResources;
}
//# sourceMappingURL=RSWStack.d.ts.map