@opra/common
Version:
Opra common package
21 lines (20 loc) • 1.07 kB
TypeScript
import type { TypeThunkAsync } from 'ts-gems';
import type { MQController } from '../mq/mq-controller.js';
import type { MQHeader } from '../mq/mq-header';
export interface MQControllerDecorator<T extends MQControllerDecorator<any> = MQControllerDecorator<any>> extends ClassDecorator {
Header(name: string | RegExp, optionsOrType?: MQHeader.Options | string | TypeThunkAsync | false): T;
UseType(...type: TypeThunkAsync[]): T;
}
export interface MQControllerDecoratorFactory {
<T extends MQController.Options>(options?: T): MQControllerDecorator;
}
/**
* @namespace MQControllerDecoratorFactory
*/
export declare namespace MQControllerDecoratorFactory {
type AugmentationFunction = (decorator: MQControllerDecorator, decoratorChain: Function[], options?: MQController.Options) => void;
}
export declare function MQControllerDecoratorFactory<O extends MQController.Options>(options?: O): MQControllerDecorator;
export declare namespace MQControllerDecoratorFactory {
var augment: (fn: MQControllerDecoratorFactory.AugmentationFunction) => void;
}