import { type FrameworkSiteProps } from "./FrameworkSite.ts"; /** The framework-integration package that drives the Nuxt build. */ export declare const NUXT_FRAMEWORK_SPECIFIER = "@alchemy.run/frontend-frameworks/nuxt"; /** The AWS Lambda deploy target for the Nuxt build. */ export declare const NUXT_AWS_TARGET_SPECIFIER = "@alchemy.run/frontend-frameworks/nuxt/aws"; export interface NuxtProps extends FrameworkSiteProps { /** * Nuxt config overrides merged over the project's own `nuxt.config.ts` * (highest-priority layer). `nitro.preset` is owned by the AWS deploy * target and may not be set here. */ nuxt?: Record; } /** * Deploy a Nuxt application to AWS: the nitro server on a streaming Lambda * Function URL, static assets (prerendered pages included) in S3, and a * CloudFront distribution whose edge router serves uploaded files from S3 * and forwards everything else to the server. * * The build runs through `@alchemy.run/frontend-frameworks/nuxt` with the * `@alchemy.run/frontend-frameworks/nuxt/aws` deploy target (nitro's `aws-lambda` preset, * streaming enabled) — both must be installed in your project. * * ### Creating Nuxt Sites * **Example:** Basic Nuxt App * ```typescript * const site = yield* AWS.Website.Nuxt("Web", { * rootDir: "./app", * }); * ``` * * **Example:** Custom Domain * ```typescript * const site = yield* AWS.Website.Nuxt("Web", { * rootDir: "./app", * domain: { * name: "app.example.com", * hostedZoneId: zone.hostedZoneId, * }, * }); * ``` * * ### Server Configuration * **Example:** Tune The Server Function * ```typescript * const site = yield* AWS.Website.Nuxt("Web", { * rootDir: "./app", * server: { * memorySize: 2048, * environment: { * NUXT_PUBLIC_API_BASE: api.url, * }, * }, * }); * ``` * * @resource */ export declare const Nuxt: (id: string, props?: NuxtProps) => import("effect/Effect").Effect<{ bucket: undefined; build: import("./Server.ts").Server; files: undefined; distribution: undefined; invalidation: undefined; kvNamespace: string | undefined; server: undefined; serverUrl: undefined; url: import("../../Output.ts").Output; urls: import("../../Output.ts").Output[]; } | { bucket: import("../S3/Bucket.ts").Bucket; files: import("./AssetDeployment.ts").AssetDeployment; distribution: import("../CloudFront/Distribution.ts").Distribution | undefined; invalidation: import("../CloudFront/Invalidation.ts").Invalidation | undefined; kvNamespace: string; url: import("../../Input.ts").Input; urls: import("../../Input.ts").Input[]; build: import("./Server.ts").Server; server: undefined; serverUrl: undefined; } | { bucket: import("../S3/Bucket.ts").Bucket; files: import("./AssetDeployment.ts").AssetDeployment; distribution: import("../CloudFront/Distribution.ts").Distribution | undefined; invalidation: import("../CloudFront/Invalidation.ts").Invalidation | undefined; kvNamespace: string; url: import("../../Input.ts").Input; urls: import("../../Input.ts").Input[]; build: import("./Server.ts").Server; server: import("../Lambda/Function.ts").Function; serverUrl: import("../../Output.ts").Output; }, never, import("../../AlchemyContext.ts").AlchemyContext | import("../../Provider.ts").Provider | import("../../Provider.ts").Provider | import("../Providers.ts").Providers | import("../../Stack.ts").Stack | import("../../Stage.ts").Stage>; //# sourceMappingURL=Nuxt.d.ts.map