import type { Type } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import type { EventHandlerType } from '@nestjs/cqrs';
import type { IPubsubEventOptions } from '../decorator';
import type { AbstractSubscriptionEvent, IPubsubEventHandlerMetadata } from '../interface';
export declare class PubSubReflector extends Reflector {
    reflectHandlerMetadata<T extends AbstractSubscriptionEvent<any>>(handler: EventHandlerType<T>): IPubsubEventHandlerMetadata<T> | undefined;
    reflectEventMetadata<T extends AbstractSubscriptionEvent<any>>(event: Type<T>): IPubsubEventOptions | undefined;
    extractEventMetadata<T extends AbstractSubscriptionEvent<any>>(event: T): IPubsubEventOptions | undefined;
}
