import type { Construct } from "constructs";
import type { CloudOptions } from "../types";
import { Stack } from "aws-cdk-lib";
import { AiStack } from "./ai";
import { CdnStack } from "./cdn";
import { CliStack } from "./cli";
import { ComputeStack } from "./compute";
import { DeploymentStack } from "./deployment";
import { DnsStack } from "./dns";
import { DocsStack } from "./docs";
import { EmailStack } from "./email";
import { FileSystemStack } from "./file-system";
import { JumpBoxStack } from "./jump-box";
import { NetworkStack } from "./network";
import { PermissionsStack } from "./permissions";
import { QueueStack } from "./queue";
import { RedirectsStack } from "./redirects";
import { SecurityStack } from "./security";
import { StorageStack } from "./storage";
export declare class Cloud extends Stack {
	dns: DnsStack;
	security: SecurityStack;
	storage: StorageStack;
	network: NetworkStack;
	fileSystem: FileSystemStack;
	jumpBox: JumpBoxStack;
	docs: DocsStack;
	email: EmailStack;
	redirects: RedirectsStack;
	permissions: PermissionsStack;
	ai: AiStack;
	cli: CliStack;
	api?: ComputeStack;
	cdn: CdnStack;
	queue?: QueueStack;
	deployment: DeploymentStack;
	scope: Construct;
	props: CloudOptions;
	constructor(scope: Construct, id: string, props: CloudOptions);
	init(): Promise<void>;
	shouldDeployApi(): boolean;
}
