import { GenericObject } from '../global'; import { HTTPMethod, PREFIX } from '../constant'; export interface EncodedObject extends GenericObject { } export declare abstract class BaseEncoder { abstract encode(..._: any[]): EncodedObject; } export interface HTTPRequestObject extends EncodedObject { url: string; body: GenericObject; method: HTTPMethod; headers: GenericObject; } export declare class HTTPRequestEncoder extends BaseEncoder { protected endpoint: string; body: GenericObject; query: GenericObject; method: HTTPMethod; protected prefix: string; protected baseHeaders: GenericObject; protected serviceHeaders: GenericObject; protected serverlessHeaders: GenericObject; protected baseUrl: string; constructor(endpoint: string, prefix?: PREFIX); readonly url: string; readonly headers: GenericObject; setBodyField(fields: GenericObject): HTTPRequestEncoder; setUserId(userId: string): HTTPRequestEncoder; setBaseHeaders(headers?: GenericObject): HTTPRequestEncoder; setServerlessHeaders(headers?: GenericObject): HTTPRequestEncoder; encode(..._: any[]): HTTPRequestObject; }