import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; import { alb as albTypes } from "@pulumi/aws/types/input"; export type ProxiedCloudflareDomain = { createCloudflareProxiedSubdomain: true; }; export type UnproxiedCloudflareDomain = { createCloudflareDNSWithoutProxy: true; ttl: number; }; export type CloudflareDomainOptions = ProxiedCloudflareDomain | UnproxiedCloudflareDomain | {}; export type ExtraExposedServiceOptions = CloudflareDomainOptions & { skipInternalDomain?: boolean; skipCloudflareRecord?: boolean; targetGroupConditions?: pulumi.Input[]; }; /** * Publicly expose a service on a given domain (with SSL). This will create a * Target Group and a Listener for your microservice. Additionally, it will * create a Route53 mapping of the DNS that will point to the load balancer. * * @param name the name of your service. * @param domain * @param port */ export declare function exposePublicService(name: string, domain: string, port: number, healthCheck?: Partial, vpcId?: string, extraOptions?: ExtraExposedServiceOptions, deregistrationDelay?: pulumi.Input): Promise<{ domain: string; certificate: pulumi.Input; record: import("@pulumi/aws/route53/record").Record | undefined; targetGroup: import("@pulumi/aws/alb/targetGroup").TargetGroup; cloudflareRecord: import("@pulumi/cloudflare/record").Record | undefined; }>;