import type { MiddlewareLikeObj } from '@aws-lambda-powertools/commons/types';
import type { IdempotencyLambdaHandlerOptions } from '../types/IdempotencyOptions.js';
/**
 * A middy middleware to make your Lambda Handler idempotent.
 *
 * @example
 * ```typescript
 * import { makeHandlerIdempotent } from '@aws-lambda-powertools/idempotency/middleware';
 * import { DynamoDBPersistenceLayer } from '@aws-lambda-powertools/idempotency/dynamodb';
 * import middy from '@middy/core';
 *
 * const persistenceStore = new DynamoDBPersistenceLayer({
 *  tableName: 'idempotencyTable',
 * });
 *
 * export const handler = middy(
 *   async (_event: unknown, _context: unknown): Promise<void> => {
 *     // your code goes here
 *   }
 * ).use(makeHandlerIdempotent({ persistenceStore: dynamoDBPersistenceLayer }));
 * ```
 *
 * For the middleware to work, your Lambda function handler must return a value different from `undefined`.
 * This is a [known limitation of the early return feature in Middy.js](https://github.com/middyjs/middy/issues/1236).
 *
 * If your use case requires early returns, you can use the {@link index.makeIdempotent | makeIdempotent()} function wrapper instead.
 *
 * @param options - Options for the idempotency middleware
 */
declare const makeHandlerIdempotent: (options: IdempotencyLambdaHandlerOptions) => MiddlewareLikeObj;
export { makeHandlerIdempotent };
//# sourceMappingURL=makeHandlerIdempotent.d.ts.map