import { Construct } from 'constructs'; import { IHostedZone } from 'aws-cdk-lib/aws-route53'; import { ICertificate } from 'aws-cdk-lib/aws-certificatemanager'; import { Api, ApiProps } from '../../constructs/Api'; import { Tables, TablesProps } from '../../constructs/Tables'; import { Lambdas, LambdasProps } from '../../constructs/Lambdas'; export interface ServerlessConstructProps extends Omit, TablesProps, Omit { /** * The url/rootDomain for the HostedZone. If you don not provide a * rootDomain a CoreConstruct will not be created. * * @example If you are hosting the ui at `www.example.com` and the api * at `api.example.com` the rootDomain would be `example.com` This is * similar for branches, such as `dev.api.example.com` and * `dev.example.com`. The rootDomain will still be `example.com`. */ rootDomain?: string; /** * The api subDomain * * @default api */ subDomain?: string; /** * For custom domain names. Required when using a rootDomain. */ certificate?: ICertificate; hostedZone?: IHostedZone; } export declare class ServerlessConstruct extends Construct { private props; lambdas?: Lambdas; tables?: Tables; api?: Api; subDomain?: string; domainUrl?: string; private layers?; constructor(scope: Construct, id: string, props: ServerlessConstructProps); }