/** * Parses Lambda Layer ARNs for a function */ export declare class FunctionLayerArnParser { private readonly region; private readonly account; private arnPattern; private nameVersionPattern; /** * Creates a new FunctionLayerArnParser * @param region - AWS region * @param account - AWS account ID */ constructor(region: string, account: string); /** * Parse the layers for a function * @param layers - Layers to be attached to the function. Each layer can be specified as either: * - A full ARN (arn:aws:lambda:::layer::) * - A name:version format (e.g., "my-layer:1") * @param functionName - Name of the function * @returns Valid layers for the function with resolved ARNs * @throws AmplifyUserError if the layer ARN or name:version format is invalid * @throws AmplifyUserError if the number of layers exceeds the limit */ parseLayers(layers: Record, functionName: string): Record; /** * Validate the ARN format for a Lambda Layer * @param arn - The ARN string to validate * @returns boolean indicating if the ARN format is valid */ private isValidLayerArn; /** * Validate the name:version format for a Lambda Layer * @param value - The string to validate in format "name:version" * @returns boolean indicating if the format is valid */ private isValidNameVersion; /** * Validate the number of layers attached to a function * @param uniqueArns - Set of unique layer ARNs * @throws AmplifyUserError if the number of layers exceeds 5 * @see https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#function-configuration-deployment-and-execution */ private validateLayerCount; } //# sourceMappingURL=layer_parser.d.ts.map