// Copyright 2017 - 2026 will Farrell, Luciano Mammino, and Middy contributors. // SPDX-License-Identifier: MIT import type { SecretsManagerClient, SecretsManagerClientConfig, } from "@aws-sdk/client-secrets-manager"; import type middy from "@middy/core"; import type { Options as MiddyOptions } from "@middy/util"; import type { Context as LambdaContext } from "aws-lambda"; export type SecretType = string & { __returnType?: T }; export declare function secretsManagerParam(path: string): SecretType; export interface SecretsManagerOptions< AwsSecretsManagerClient = SecretsManagerClient, > extends Omit< MiddyOptions, "fetchData" > { fetchData?: { [key: string]: string | SecretType }; fetchRotationDate?: boolean | Record; } export type Context = TOptions extends { setToContext: true } ? TOptions extends { fetchData: infer TFetchData } ? LambdaContext & { [Key in keyof TFetchData]: TFetchData[Key] extends SecretType ? T : unknown; } : never : LambdaContext; export type Internal = TOptions extends SecretsManagerOptions ? TOptions extends { fetchData: infer TFetchData } ? { [Key in keyof TFetchData]: TFetchData[Key] extends SecretType ? T : unknown; } : {} : {}; declare function secretsManager< TOptions extends SecretsManagerOptions | undefined, >( options?: TOptions, ): middy.MiddlewareObj< unknown, unknown, Error, Context, Internal >; export declare function secretsManagerValidateOptions( options?: Record, ): void; export default secretsManager;