import { Source } from 'rhea-promise';
import { ListenOptions } from '../interface';
/**
 * Metadata added by the `@Listener` decorator
 */
export declare class ListenerMetadata<T> {
    /**
     * The method that should be executed once the message is transformed (and validated if needed)
     */
    readonly callback: Function;
    /**
     * Name of the method
     */
    readonly callbackName: string;
    /**
     * Name of the queue the handler will handle
     */
    readonly source: string | Source;
    /**
     * ListenOptions provided to the `@Listener` decorator
     */
    readonly options: ListenOptions<T>;
    /**
     * The name of Class the method belongs to
     */
    readonly targetName: string;
    /**
     * The Class the method belongs to
     */
    readonly target: object;
    /**
     * Connection the listener should be using
     */
    readonly connection: string;
    constructor(metadata: ListenerMetadata<T>);
}
