import { CloudEventMethodDecorator } from './types.js'; import { CloudEvent } from '../models/cloud-event/cloud-event.js'; import { MessageAttributeValue } from '@aws-sdk/client-sns'; /** * Represents the next target to publish the event to. */ export interface NextTarget { /** * The ARN of a valid SNS topic. */ snsTopicArn: string; } /** * A set of properties describing how to publish an event * to the next middlewares in a pipeline. */ export interface NextProps { /** * The next target to publish the event to. */ target: NextTarget; /** * Additional attributes to associate with the * SNS event attributes. */ attributes?: Record; /** * Whether to log the event. */ logEvent?: boolean; } /** * Publishes the given cloud event to an SNS topic * for further processing by the next middlewares. * This function can be invoked by environments where * decorators are not supported. * @param event the cloud event object to publish. * @param props the properties to use. */ export declare const nextAsync: (event: CloudEvent, props?: NextProps) => Promise; /** * Passes the cloud event produced by the decorated function * to the next middlewares. * @param props the properties to use. * @returns the decoration function. */ export declare const next: (props?: NextProps) => CloudEventMethodDecorator;