import { CreateWebsitePulumiAppParams } from "@webiny/pulumi-aws/enterprise";
import { PluginCollection } from "@webiny/plugins/types";
export interface CreateWebsiteAppParams extends CreateWebsitePulumiAppParams {
    plugins?: PluginCollection;
}
export declare function createWebsiteApp(projectAppParams?: CreateWebsiteAppParams): {
    id: string;
    name: string;
    description: string;
    cli: {
        watch: {
            function: string;
            deploy: boolean;
        };
    };
    pulumi: import("@webiny/pulumi").PulumiApp<{
        prerendering: {
            subscriber: {
                policy: import("@pulumi/pulumi").Output<import("@pulumi/aws/iam/policy").Policy>;
                role: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/role").Role>;
                lambda: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
                eventRule: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudwatch/eventRule").EventRule>;
                eventPermission: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/permission").Permission>;
                eventTarget: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudwatch/eventTarget").EventTarget>;
            };
            renderer: {
                policy: import("@pulumi/pulumi").Output<import("@pulumi/aws/iam/policy").Policy>;
                role: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/role").Role>;
                lambda: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
                eventSourceMapping: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/eventSourceMapping").EventSourceMapping>;
            };
            flush: {
                policy: import("@pulumi/pulumi").Output<import("@pulumi/aws/iam/policy").Policy>;
                role: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/role").Role>;
                lambda: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
                eventRule: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudwatch/eventRule").EventRule>;
                eventPermission: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/permission").Permission>;
                eventTarget: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudwatch/eventTarget").EventTarget>;
            };
            settings: {
                tableItem: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/dynamodb/tableItem").TableItem>;
            };
        };
        preview: {
            cloudfront: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/distribution").Distribution>;
            bucket: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucket").Bucket>;
            originIdentity: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/originAccessIdentity").OriginAccessIdentity>;
            origin: import("@pulumi/aws/types/input").cloudfront.DistributionOrigin;
            bucketPublicAccessBlock: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPublicAccessBlock").BucketPublicAccessBlock>;
            bucketPolicy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPolicy").BucketPolicy>;
        };
        app: {
            cloudfront: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/distribution").Distribution>;
            bucket: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucket").Bucket>;
            originIdentity: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/originAccessIdentity").OriginAccessIdentity>;
            origin: import("@pulumi/aws/types/input").cloudfront.DistributionOrigin;
            bucketPublicAccessBlock: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPublicAccessBlock").BucketPublicAccessBlock>;
            bucketPolicy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPolicy").BucketPolicy>;
        };
        delivery: {
            cloudfront: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/distribution").Distribution>;
            bucket: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucket").Bucket>;
            originIdentity: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudfront/originAccessIdentity").OriginAccessIdentity>;
            origin: import("@pulumi/aws/types/input").cloudfront.DistributionOrigin;
            bucketPublicAccessBlock: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPublicAccessBlock").BucketPublicAccessBlock>;
            bucketPolicy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucketPolicy").BucketPolicy>;
        };
    }> & import("@webiny/pulumi-aws/utils/lambdaEnvVariables").WithCommonLambdaEnvVariables & import("@webiny/pulumi-aws/utils/withServiceManifest").WithServiceManifest;
    plugins: ((PluginCollection | import("@webiny/plugins/types").Plugin<Record<string, any>> | import("@webiny/plugins/types").PluginFactory)[] | ({
        type: string;
        name: string;
        hook(params: Record<string, any>, context: import("@webiny/cli/types").CliContext): Promise<void>;
    } | import("@webiny/cli-plugin-deploy-pulumi/plugins").BeforeBuildPlugin | import("@webiny/cli-plugin-deploy-pulumi/plugins").BeforeWatchPlugin | {
        type: string;
        hook({ projectApplication }: Record<string, any>): Promise<void>;
    } | {
        type: string;
        name: string;
        hook(params: Record<string, any>, context: import("@webiny/cli/types").CliContext): void;
    }[] | import("@webiny/cli-plugin-deploy-pulumi/plugins").AfterDeployPlugin)[])[];
};
