import { CreateCorePulumiAppParams } from "@webiny/pulumi-aws/enterprise";
import { PluginCollection } from "@webiny/plugins/types";
export { CoreOutput, configureAdminCognitoFederation } from "@webiny/pulumi-aws";
export interface CreateCoreAppParams extends CreateCorePulumiAppParams {
    plugins?: PluginCollection;
}
export declare function createCoreApp(projectAppParams?: CreateCoreAppParams): {
    id: string;
    name: string;
    description: string;
    pulumi: import("@webiny/pulumi").PulumiApp<{
        fileManagerBucket: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/s3/bucket").Bucket>;
        eventBus: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cloudwatch/eventBus").EventBus>;
        elasticSearch: {
            domain: import("@webiny/pulumi").PulumiAppResource<import("@webiny/pulumi").PulumiAppResourceConstructor<import("@pulumi/aws/elasticsearch/domain").Domain, any>> | import("@webiny/pulumi").PulumiAppRemoteResource<import("@pulumi/aws/elasticsearch").GetDomainResult>;
            domainPolicy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/elasticsearch/domainPolicy").DomainPolicy> | undefined;
            table: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/dynamodb/table").Table>;
            dynamoToElastic: {
                role: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/role").Role>;
                policy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/policy").Policy>;
                lambda: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
                eventSourceMapping: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/eventSourceMapping").EventSourceMapping>;
            };
        } | {
            domain: import("@webiny/pulumi").PulumiAppResource<import("@webiny/pulumi").PulumiAppResourceConstructor<import("@pulumi/aws/opensearch/domain").Domain, any>> | import("@webiny/pulumi").PulumiAppRemoteResource<import("@pulumi/aws/opensearch").GetDomainResult>;
            domainPolicy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/opensearch/domainPolicy").DomainPolicy> | undefined;
            table: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/dynamodb/table").Table>;
            dynamoToElastic: {
                role: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/role").Role>;
                policy: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/iam/policy").Policy>;
                lambda: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/function").Function>;
                eventSourceMapping: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/lambda/eventSourceMapping").EventSourceMapping>;
            };
        } | undefined;
        userPool: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cognito/userPool").UserPool>;
        userPoolClient: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/cognito/userPoolClient").UserPoolClient>;
        dynamoDbTable: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/dynamodb/table").Table>;
        logDynamoDbTable: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/dynamodb/table").Table>;
        vpc: {
            vpc: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/ec2/vpc").Vpc>;
            subnets: {
                public: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/ec2/subnet").Subnet>[];
                private: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/ec2/subnet").Subnet>[];
            };
            routeTables: {
                privateSubnets: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/ec2/routeTable").RouteTable>;
                publicSubnets: import("@webiny/pulumi").PulumiAppResource<typeof import("@pulumi/aws/ec2/routeTable").RouteTable>;
            };
        } | null;
    }> & import("@webiny/pulumi-aws/utils/withServiceManifest").WithServiceManifest;
    plugins: ((PluginCollection | import("@webiny/plugins/types").Plugin<Record<string, any>> | import("@webiny/plugins/types").PluginFactory)[] | ({
        type: string;
        hook({ projectApplication }: Record<string, any>): Promise<void>;
    } | {
        type: string;
        name: string;
        hook(params: Record<string, any>, context: import("@webiny/cli/types").CliContext): Promise<void>;
    })[])[];
};
