import { INotification, INotificationHandler, INotificationDispatchHandler, INotificationTransport, INotificationDispatchResult } from "./core";
import * as Logger from "bunyan";
export declare class NotificationDispatchHandler<TTransport extends INotificationTransport<any>> implements INotificationDispatchHandler {
    transportName: string;
    private logger;
    private transport;
    constructor(transportName: string, logger: Logger, transport: TTransport);
    onDispatch(notification: INotification, messageHandler: INotificationHandler<any>): Promise<INotificationDispatchResult>;
    protected canHandleMessage(messageHandler: INotificationHandler<any>): boolean;
    protected invokeMessage(notification: INotification, messageHandler: INotificationHandler<any>): any;
    shutdown(): void;
}
