@opra/common
Version:
Opra common package
19 lines (18 loc) • 914 B
TypeScript
import type { TypeThunkAsync } from 'ts-gems';
import type { WSController } from '../ws/ws-controller.js';
export interface WSControllerDecorator<T extends WSControllerDecorator<any> = WSControllerDecorator<any>> extends ClassDecorator {
UseType(...type: TypeThunkAsync[]): T;
}
export interface WSControllerDecoratorFactory {
<T extends WSController.Options>(options?: T): WSControllerDecorator;
}
/**
* @namespace WSControllerDecoratorFactory
*/
export declare namespace WSControllerDecoratorFactory {
type AugmentationFunction = (decorator: WSControllerDecorator, decoratorChain: Function[], options?: WSController.Options) => void;
}
export declare function WSControllerDecoratorFactory<O extends WSController.Options>(options?: O): WSControllerDecorator;
export declare namespace WSControllerDecoratorFactory {
var augment: (fn: WSControllerDecoratorFactory.AugmentationFunction) => void;
}