import { EventMetadata, EventType } from "./event-metadata"; export declare function EventSource(): PropertyDecorator; export declare function EventSource(...methodDecorators: MethodDecorator[]): PropertyDecorator; export declare function EventSource(eventType?: EventType, ...methodDecorators: MethodDecorator[]): PropertyDecorator; export declare namespace EventSource { /** @PropertyDecoratorFactory */ function WithParams(eventType?: EventType, ...methodDecorators: MethodDecorator[]): PropertyDecorator; function Bootstrap(targetInstance: any): void; namespace Facade { /** @description * Creates an event facade function (the function that is invoked during an event) for the given event type. */ function Create(eventType: EventType): Function & { eventType: EventType; }; } function CreateMetadata(type: EventType, target: any, propertyKey: string): EventMetadata.SubjectInfo; }