import { Construct, IConstruct } from "constructs"; import { Role } from "aws-cdk-lib/aws-iam"; import { IVersion, IFunction as CdkIFunction } from "aws-cdk-lib/aws-lambda"; import { NodeJSProps, FunctionCopyFilesProps } from "./Function.js"; import { BindingResource } from "./util/binding.js"; import { Size } from "./util/size.js"; import { Duration } from "./util/duration.js"; import { Permissions } from "./util/permission.js"; export interface EdgeFunctionProps { bundle?: string; handler: string; runtime?: "nodejs16.x" | "nodejs18.x" | "nodejs20.x" | "nodejs22.x"; timeout?: number | Duration; memorySize?: number | Size; permissions?: Permissions; environment?: Record; bind?: BindingResource[]; nodejs?: NodeJSProps; copyFiles?: FunctionCopyFilesProps[]; scopeOverride?: IConstruct; } export declare class EdgeFunction extends Construct { role: Role; functionArn: string; function: CdkIFunction; currentVersion: IVersion; private functionCR; private assetReplacer; private assetReplacerPolicy; private scope; private bindingEnvs; private props; constructor(scope: Construct, id: string, props: EdgeFunctionProps); attachPermissions(permissions: Permissions): void; addEnvironment(key: string, value: string): void; private buildAssetFromHandler; private buildAssetFromBundle; private bind; private createCodeReplacer; private updateCodeReplacer; private createRole; private createSingletonBucketInUsEast1; private createFunctionInUsEast1; private updateFunctionInUsEast1; private createVersionInUsEast1; private getHandlerExtension; private trimFromStart; private calculateHash; }