import { Construct, IConstruct } from "constructs"; import * as iam from "aws-cdk-lib/aws-iam"; import * as lambda from "aws-cdk-lib/aws-lambda"; import { Permissions } from "./util/permission.js"; export interface EdgeFunctionProps { bundlePath: string; handler: string; timeout?: number; memory?: number; permissions?: Permissions; environment?: Record; /** * This is intended to be used internally by SST to make constructs * backwards compatible when the hirechical structure of the constructs * changes. When the hirerchical structure changes, the child AWS * resources' logical ID will change. And CloudFormation will recreate * them. */ scopeOverride?: IConstruct; } export declare class EdgeFunction extends Construct { role: iam.Role; functionArn: string; private scope; private versionId; private props; constructor(scope: Construct, id: string, props: EdgeFunctionProps); get currentVersion(): lambda.IVersion; attachPermissions(permissions: Permissions): void; private wrapFunctionCode; private createAsset; private createRole; private createFunction; private createSingletonAwsCliLayer; private createLambdaCodeReplacer; private createSingletonBucketCR; private createFunctionCR; private createVersionCR; private updateVersionLogicalId; private trimFromStart; private calculateHash; }