export declare type RequestHandlerOutput<ResponseType> = {
  response: ResponseType;
};
export interface RequestHandler<
  RequestType,
  ResponseType,
  HandlerOptions = {}
> {
  metadata?: RequestHandlerMetadata;
  destroy?: () => void;
  handle: (
    request: RequestType,
    handlerOptions?: HandlerOptions
  ) => Promise<RequestHandlerOutput<ResponseType>>;
}
export interface RequestHandlerMetadata {
  handlerProtocol: string;
}
