import 'reflect-metadata'; import { IParsedObject } from '@qiwi/json-rpc-common'; import { IMetaTypedValue, INext, IRequest, IResponse } from '@qiwi/substrate'; export * from '@qiwi/json-rpc-common'; export declare enum ParamMetadataKeys { REQUEST = "request", ID = "id", PARAMS = "params", CLIENT = "client", SECURITY = "security", REQ = "req", RES = "res", NEXT = "next", BODY = "body", QUERY = "query", PARAM = "param", HEADERS = "headers", SESSION = "session", FILE = "file", FILES = "files", HOST = "host", IP = "ip" } declare type IJsonRpcMetaTypedValue = IMetaTypedValue & { reqresnext: { req: IRequest; res: IResponse; next: INext; }; }; export declare function JsonRpcMiddleware(): ClassDecorator; export declare const exchangeCommonKeyMetadataForValue: (boxedJsonRpc: IJsonRpcMetaTypedValue, { type, value }: { type: any; value: any; }) => any; export declare const JsonRpcData: (type?: ParamMetadataKeys, value?: any) => (target: Object, propertyKey: string, index: number) => void; export declare const RpcId: () => (target: Object, propertyKey: string, index: number) => void; export declare const JsonRpcId: () => (target: Object, propertyKey: string, index: number) => void; export declare const JsonRpcParams: (value?: string | undefined) => (target: Object, propertyKey: string, index: number) => void; export declare const Res: () => (target: Object, propertyKey: string, index: number) => void; export declare const Req: () => (target: Object, propertyKey: string, index: number) => void; export declare const Next: () => (target: Object, propertyKey: string, index: number) => void; export declare const Body: (value?: string | undefined) => (target: Object, propertyKey: string, index: number) => void; export declare const Param: (value?: string | undefined) => (target: Object, propertyKey: string, index: number) => void; export declare const Query: (value?: string | undefined) => (target: Object, propertyKey: string, index: number) => void; export declare const Headers: (value?: string | undefined) => (target: Object, propertyKey: string, index: number) => void; export declare const Ip: () => (target: Object, propertyKey: string, index: number) => void; export declare const JsonRpcMethod: (method: string) => (target: any, propertyKey: string) => void;