import type { IMessageFactory, IMessageIDGenerator, INotificationObject, IRequestObject, IResponseObject } from './types';
export declare class MessageFactory implements IMessageFactory {
    protected readonly IDGenerator: IMessageIDGenerator;
    constructor(IDGenerator: IMessageIDGenerator);
    makeNotification<T>(channel: string, payload: T): INotificationObject<T>;
    makeRequest<T>(channel: string, payload: T): IRequestObject<T>;
    makeResponse<T>(requestId: string, channel: string, payload: T): IResponseObject<T>;
    invalidateID(id: string): void;
}
