import * as Lambda from "@distilled.cloud/aws/lambda"; import type * as Duration from "effect/Duration"; import * as Effect from "effect/Effect"; /** * Asynchronous invocation settings for a Lambda function or alias. * * Configured via {@link FunctionProps.eventInvokeConfig} for the unqualified * function, or {@link AliasProps.eventInvokeConfig} for a specific alias. */ export interface EventInvokeConfig { /** * Maximum number of times Lambda retries an asynchronous invocation. * @default 2 */ maximumRetryAttempts?: number; /** * Maximum age that Lambda retains an asynchronous event (e.g. `"6 hours"`). * Rounded to whole seconds on the wire. * @default "6 hours" */ maximumEventAge?: Duration.Input; /** * Destinations for successful or failed asynchronous invocation records. */ destinationConfig?: Lambda.DestinationConfig; } /** * Converge the async invocation config of a function or alias to the desired * state: put it when set, delete it when omitted. Diffs against the observed * cloud config so a no-op deploy skips the write entirely. */ export declare const syncEventInvokeConfig: (args_0: { functionName: string; /** Alias name (or version) to scope the config to. Omit for `$LATEST`. */ qualifier?: string; config: EventInvokeConfig | undefined; }) => Effect.Effect; //# sourceMappingURL=EventInvokeConfig.d.ts.map