import { Function, FunctionOptions } from 'aws-cdk-lib/aws-lambda';
import { Bucket } from 'aws-cdk-lib/aws-s3';
import { BucketDeployment } from 'aws-cdk-lib/aws-s3-deployment';
import { Construct } from 'constructs';
import { NextjsBaseProps } from './NextjsBase';
import { NextjsBuild } from './NextjsBuild';
export declare type EnvironmentVars = Record<string, string>;
export interface NextjsLambdaProps extends NextjsBaseProps {
    /**
     * Built nextJS application.
     */
    readonly nextBuild: NextjsBuild;
    /**
     * Override function properties.
     */
    readonly lambda?: FunctionOptions;
}
/**
 * Build a lambda function from a NextJS application to handle server-side rendering, API routes, and image optimization.
 */
export declare class NextJsLambda extends Construct {
    configBucket?: Bucket;
    lambdaFunction: Function;
    constructor(scope: Construct, id: string, props: NextjsLambdaProps);
    private _getReplacementParams;
    protected createConfigBucket(replacementParams: Record<string, string>): readonly [Bucket, BucketDeployment];
}
