import 'reflect-metadata';
import { Frequency, INotificationHandlerDecoration } from "./core";
export interface IMessageHandlerRegistry {
    get(type: string): INotificationHandlerDecoration;
    getAll(): INotificationHandlerDecoration[];
}
export declare const messageHandlerDecoration: IMessageHandlerRegistry;
export declare class Notification {
    handler(type: string, name?: string, group?: string): ClassDecorator;
    template(): (target: any, methodName: string, descriptor?: PropertyDescriptor) => void;
    transformTemplate<T>(notification: T, func: Function): string;
    testCase(): (target: any, methodName: string, descriptor?: PropertyDescriptor) => void;
    validator(): (target: any, methodName: string, descriptor?: PropertyDescriptor) => void;
    transport(...availableFrequencies: Frequency[]): (target: any, methodName: string, descriptor?: PropertyDescriptor) => void;
}
export declare const notifications: Notification;
