import type { aws_cloudfront as cloudfront, aws_kms as kms } from "aws-cdk-lib";
import type { Construct } from "constructs";
import type { NestedCloudProps } from "../types";
import { aws_backup as backup, aws_iam as iam, aws_s3 as s3 } from "aws-cdk-lib";
export interface StorageStackProps extends NestedCloudProps {
	kmsKey: kms.Key;
	originAccessIdentity: cloudfront.OriginAccessIdentity;
}
export declare class StorageStack {
	publicBucket: s3.Bucket;
	privateBucket: s3.Bucket;
	docsBucket?: s3.Bucket;
	logBucket: s3.Bucket;
	bucketPrefix: string;
	vault: backup.BackupVault;
	backupPlan: backup.BackupPlan;
	backupRole: iam.Role;
	constructor(scope: Construct, props: StorageStackProps);
	createBackupRole(scope: Construct): iam.Role;
	shouldDeployDocs(): boolean;
}
