import type { TypeThunkAsync } from 'ts-gems'; import type { WSController } from '../ws/ws-controller.js'; export interface WSControllerDecorator = WSControllerDecorator> extends ClassDecorator { UseType(...type: TypeThunkAsync[]): T; } export interface WSControllerDecoratorFactory { (options?: T): WSControllerDecorator; } /** * @namespace WSControllerDecoratorFactory */ export declare namespace WSControllerDecoratorFactory { type AugmentationFunction = (decorator: WSControllerDecorator, decoratorChain: Function[], options?: WSController.Options) => void; } export declare function WSControllerDecoratorFactory(options?: O): WSControllerDecorator; export declare namespace WSControllerDecoratorFactory { var augment: (fn: WSControllerDecoratorFactory.AugmentationFunction) => void; }