/** * Abstract argument encoder */ export interface IArgumentEncoder { /** * Name of the content type if any. May be an empty string. */ contentType: string; /** * Separator to inject at the start of the arguments. May be empty. */ separatorStart: string; /** * Separator to inject at the end of the arguments. May be empty. */ separatorEnd: string; /** * Record separator */ recordSeparator: string; /** * Encode a given value into the requested format. * * @param name Name of the field, may be empty string. * @param value Value to serialize * @param last True if this is the last argument being serialized. * @return Encoded version of the argument. */ encode(name: string, value: any, last: boolean): string; } /** * Encode parameters using urlencode. */ export declare class UrlArgumentEncoder implements IArgumentEncoder { contentType: string; separatorStart: string; separatorEnd: string; recordSeparator: string; /** * Encode a given value into query-string compatible format. * * @param name Name of the field, may be empty string. * @param value Value to serialize * @param last True if this is the last argument being serialized. * @return Encoded version of the argument. */ encode(name: string, value: any, last: boolean): string; } /** * Encode parameters using application/x-www-form-urlencoded */ export declare class WwwFormUrlArgumentEncoder implements IArgumentEncoder { contentType: string; separatorStart: string; separatorEnd: string; recordSeparator: string; /** * Encode a given value into the application/x-www-form-urlencoded. * * @param name Name of the field, may be empty string. * @param value Value to serialize * @param last True if this is the last argument being serialized. * @return Encoded version of the argument. */ encode(name: string, value: any, last: boolean): string; } /** * Encode the parameter into JSON */ export declare class JsonArgumentEncoder implements IArgumentEncoder { contentType: string; separatorStart: string; separatorEnd: string; recordSeparator: string; /** * Encode a given value into the JSON application/json body. * * @param name Name of the field. * @param value Value to serialize * @param last True if this is the last argument being serialized. * @return {string} Encoded version of the argument. */ encode(name: string, value: any, last: boolean): string; }