/// import { Type } from '@nestjs/common'; import { IncomingMessage } from 'http'; import { Observable } from 'rxjs'; import { ContextId } from '../injector/instance-wrapper'; import { HeaderStream } from '../router/sse-stream'; import { ParamProperties } from './context-utils'; export declare const HANDLER_METADATA_SYMBOL: unique symbol; export declare type HandleResponseFn = HandlerResponseBasicFn | HandleSseResponseFn; export declare type HandlerResponseBasicFn = (result: TResult, res: TResponse, req?: any) => any; export declare type HandleSseResponseFn = = any, TResponse extends HeaderStream = any, TRequest extends IncomingMessage = any>(result: TResult, res: TResponse, req: TRequest) => any; export interface HandlerMetadata { argsLength: number; paramtypes: any[]; httpStatusCode: number; responseHeaders: any[]; hasCustomHeaders: boolean; getParamsMetadata: (moduleKey: string, contextId?: ContextId, inquirerId?: string) => (ParamProperties & { metatype?: any; })[]; fnHandleResponse: HandleResponseFn; } export declare class HandlerMetadataStorage = any> { private readonly [HANDLER_METADATA_SYMBOL]; set(controller: TKey, methodName: string, metadata: TValue): void; get(controller: TKey, methodName: string): TValue | undefined; private getMetadataKey; }