import { StackAccount } from './core'; import { FunctionProps, IFunction, Runtime, Tracing, FunctionAttributes, Architecture } from 'aws-cdk-lib/aws-lambda'; import { Duration, Stack } from 'aws-cdk-lib'; export type ScalingConfiguration = Readonly<{ minCapacity: number; maxCapacity: number; utilizationTarget: number; }>; export type LambdaInput = Readonly<{ functionName: string; codePath: string; handler: string; environment?: { [key: string]: string; }; lambdaConfiguration: LambdaConfiguration; scalingConfiguration?: ScalingConfiguration; reservedConcurrentExecutions?: number; }>; export type LambdaConfiguration = Partial & Readonly<{ runtime: Runtime; tracing: Tracing; timeout: Duration; memorySize: number; architecture: Architecture; }>; /** Creates a Lambda function with a versioned alias and optional provisioned concurrency auto-scaling. */ export declare const withLambda: (deps: { stack: Stack; aliasName: string; }) => (input: LambdaInput) => IFunction; export type LambdaImportInput = Readonly<{ arn: string; id: string; }>; /** Imports an existing Lambda function by ARN. */ export declare const importFunction: (deps: { stack: Stack; }) => (input: LambdaImportInput, attributes?: Partial) => IFunction; /** Constructs a Lambda function ARN from account info, function name, and optional alias. */ export declare const functionArnFromName: (deps: { account: StackAccount; }) => (fnName: string, alias?: string) => string; /** Constructs a Lambda function ARN with a pre-configured alias. */ export declare const functionArnFromNameAndAlias: (deps: { account: StackAccount; aliasName: string; }) => (fnName: string) => string; /** Imports a Lambda function by partial ID, using injected `withId` and `functionArn` to resolve the full ARN. */ export declare const importFunctionByPartialId: (deps: { functionArn: (fnName: string) => string; withId: (identifier: string) => string; importFunction: (input: LambdaImportInput, attributes?: Partial) => IFunction; }) => (id: string, attributes?: Partial) => IFunction; //# sourceMappingURL=lambda.d.ts.map