import { Function, FunctionOptions } from 'aws-cdk-lib/aws-lambda';
import { IBucket } from 'aws-cdk-lib/aws-s3';
import { Construct } from 'constructs';
import { NextjsBaseProps } from './NextjsBase';
import type { NextjsBuild } from './NextjsBuild';
export declare type RemotePattern = {
    protocol: string;
    hostname: string;
    port?: string;
    pathname?: string;
};
export interface ImageOptimizationProps extends NextjsBaseProps {
    /**
     * The S3 bucket holding application images.
     */
    readonly bucket: IBucket;
    /**
     * Override function properties.
     */
    readonly lambdaOptions?: FunctionOptions;
    /**
     * The `NextjsBuild` instance representing the built Nextjs application.
     */
    readonly nextBuild: NextjsBuild;
}
/**
 * This lambda handles image optimization.
 */
export declare class ImageOptimizationLambda extends Function {
    bucket: IBucket;
    constructor(scope: Construct, id: string, props: ImageOptimizationProps);
    /**
     * Adds policy statement to give GetObject permission Image Optimization lambda.
     */
    private addPolicy;
}
