import { EventBridgeHandler as AwsLambdaEventBridgeHandler, Callback, Context, EventBridgeEvent, Handler } from 'aws-lambda'; import { EventBridgePayloadType } from './common'; import { EventBridgeContract } from '../eventBridgeContract'; /** * The type of a Swarmion handler, with type-inferred event * The handler function can define additional arguments */ export type SwarmionEventBridgeHandler = (event: EventBridgeEvent, context: Context, callback?: Callback, ...additionalArgs: AdditionalArgs) => Promise; export type ContractEventBridgeEvent = Contract extends EventBridgeContract ? EventBridgeEvent> : never; export type SwarmionEventBridgeMultipleHandler, AdditionalArgs extends unknown[]> = (event: Events, context: Context, callback?: Callback, ...additionalArgs: AdditionalArgs) => Promise; /** * a simple helper type to build EventBridgeHandler */ type EventBridgeHandlerParameters = Parameters>; type EventBridgeHandlerMultipleParameters> = Parameters>; /** * The type of an EventBridge handler. This is the actual version that will * be executed by the lambda, not the Swarmion inferred one. * * See https://docs.aws.amazon.com/lambda/latest/dg/typescript-handler.html. */ export type EventBridgeHandler = (event: EventBridgeHandlerParameters[0], context: EventBridgeHandlerParameters[1], callback: EventBridgeHandlerParameters[2], ...additionalArgs: AdditionalArgs) => Promise; export type EventBridgeMultipleHandler, AdditionalArgs extends unknown[]> = (event: EventBridgeHandlerMultipleParameters[0], context: EventBridgeHandlerMultipleParameters[1], callback: EventBridgeHandlerMultipleParameters[2], ...additionalArgs: AdditionalArgs) => Promise; export {}; //# sourceMappingURL=lambdaHandler.d.ts.map