UNPKG

@opra/common

Version:
21 lines (20 loc) 1.07 kB
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; }