import { SegmentEvent } from '../../core/events'; import { Plugin } from '../../core/plugin'; import { SegmentFacade } from '../../lib/to-facade'; export interface MiddlewareParams { payload: SegmentFacade; integrations?: SegmentEvent['integrations']; next: (payload: MiddlewareParams['payload'] | null) => void; } export interface DestinationMiddlewareParams { payload: SegmentFacade; integration: string; next: (payload: MiddlewareParams['payload'] | null) => void; } export type MiddlewareFunction = (middleware: MiddlewareParams) => void | Promise; export type DestinationMiddlewareFunction = (middleware: DestinationMiddlewareParams) => void | Promise; export declare function applyDestinationMiddleware(destination: string, evt: SegmentEvent, middleware: DestinationMiddlewareFunction[]): Promise; export declare function sourceMiddlewarePlugin(fn: MiddlewareFunction, integrations: SegmentEvent['integrations']): Plugin; //# sourceMappingURL=index.d.ts.map