import { Construct } from "constructs";
import { NextjsApi, NextjsApiOverrides, NextjsApiProps } from "../nextjs-api";
import { NextjsBaseConstruct, NextjsBaseProps, NextjsBaseConstructOverrides, NextjsBaseOverrides } from "./nextjs-base-construct";
import { NextjsFunctions, NextjsFunctionsOverrides, NextjsFunctionsProps } from "../nextjs-compute/nextjs-functions";
export interface NextjsRegionalFunctionsConstructOverrides extends NextjsBaseConstructOverrides {
    readonly nextjsFunctionsProps?: NextjsFunctionsProps;
    readonly nextjsApiProps?: NextjsApiProps;
}
/**
 * Overrides for `NextjsRegionalFunctions`. Overrides are lower level than
 * props and are passed directly to CDK Constructs giving you more control. It's
 * recommended to use caution and review source code so you know how they're used.
 */
export interface NextjsRegionalFunctionsOverrides extends NextjsBaseOverrides {
    readonly nextjsRegionalFunctions?: NextjsRegionalFunctionsConstructOverrides;
    readonly nextjsFunctions?: NextjsFunctionsOverrides;
    readonly nextjsApi?: NextjsApiOverrides;
}
export interface NextjsRegionalFunctionsProps extends NextjsBaseProps {
    /**
     * Override props of any construct.
     */
    readonly overrides?: NextjsRegionalFunctionsOverrides;
}
/**
 * Deploy Next.js regionally with functions. Uses API Gateway REST API
 * for routing requests and AWS Lambda Functions for server-side rendering.
 */
export declare class NextjsRegionalFunctions extends NextjsBaseConstruct {
    nextjsFunctions: NextjsFunctions;
    nextjsApi: NextjsApi;
    get url(): string;
    private props;
    constructor(scope: Construct, id: string, props: NextjsRegionalFunctionsProps);
    private createNextjsFunctions;
    private createNextjsApi;
}
