import { BaseRequestHandler } from "../domain/BaseRequestHandler"; import { ASResponse } from "../domain/entity/ASResponse"; import { ASRequest, ASRequestType } from "../domain/entity/ASRequest"; import { Wrapper } from "../../codeGen/infrastructure/Utils"; export declare type HandlerFunction = (request: ASRequest) => ASResponse; export declare type MultiRequestHandlerType = Wrapper; export declare abstract class MultiRequestHandler extends BaseRequestHandler { private static handlers; handle(request: ASRequest): Promise; supports(request: ASRequest): boolean; addHandler(request: ASRequestType, handlerClass: () => MultiRequestHandlerType, handlerFunction: HandlerFunction): void; } export declare function handles(request: ASRequestType): (target: T, propertyKey: string) => void;