import type { ITransportAdapter } from './ITransportAdapter';
export interface IMiddlewareResult {
    cancel?: boolean;
    topic?: string;
    payload?: unknown;
}
export interface ITransportMiddleware {
    beforePublish?(topic: string, payload: unknown): void | IMiddlewareResult | Promise<void | IMiddlewareResult>;
    afterPublish?(topic: string, payload: unknown): void | Promise<void>;
}
/**
 * Wrap an ITransportAdapter with a publish‑side middleware pipeline.
 * subscribe(...) is passed through as‑is.
 */
export declare function wrapTransport(inner: ITransportAdapter, middlewares: ITransportMiddleware[]): ITransportAdapter;
//# sourceMappingURL=TransportMiddleware.d.ts.map