import { FileWrapper } from '@apimatic/file-wrapper'; import { FormDataWrapper } from '@apimatic/core-interfaces'; /** * Type for Key-value pair for form-urlencoded serialization */ export interface FormKeyValuePair { key: string; value: string | FileWrapper | FormDataWrapper; } /** * Type for list of key-value pairs for form-urlencoded serialization */ export type FormKeyValuePairList = FormKeyValuePair[]; /** * Type for formatting function used to create key for nested arrays */ export type ArrayPrefixFunction = (key: string, value: any[], result: FormKeyValuePairList) => void; export declare function objectEncoding(key: string, iter: number, value: any, prefixFormat: ArrayPrefixFunction): FormKeyValuePairList; export declare function objectArrayEncoding(key: string, value: any[], prefixFormat: ArrayPrefixFunction, result: FormKeyValuePairList): void; /** * Array prefix format: item[1]=1&item[2]=2 */ export declare const indexedPrefix: ArrayPrefixFunction; /** * Array prefix format: item[]=1&item[]=2 */ export declare const unindexedPrefix: ArrayPrefixFunction; /** * Array prefix format: item=1&item=2 */ export declare const plainPrefix: ArrayPrefixFunction; /** * Array prefix format: item=1\t2 */ export declare const tabPrefix: ArrayPrefixFunction; /** * Array prefix format: item=1,2 */ export declare const commaPrefix: ArrayPrefixFunction; /** * Array prefix format: item=1|2 */ export declare const pipePrefix: ArrayPrefixFunction; /** * Converts an object to a list of key-value pairs for form-urlencoded serialization. * * @param obj The object to serialize * @param prefixFormat Formatting function to create key for nested arrays * @return Result of serialization */ export declare function formDataEncodeObject(obj: Record, prefixFormat?: ArrayPrefixFunction): FormKeyValuePairList; /** * Return a new list with all key-value pairs, which have a FileWrapper as value, removed * * @param params List of key-value pairs */ export declare function filterFileWrapperFromKeyValuePairs(params: FormKeyValuePairList): Array<{ key: string; value: string; }>; /** * Serializes an object for a form-urlencoded request. * * Nested and complex types in values will be flattened using {@link formDataEncodeObject() function} method. * * @param obj The object to be serialized * @return The result of serialization */ export declare function urlEncodeObject(obj: Record, prefixFormat?: ArrayPrefixFunction): string; /** * Serializes a list of key-value pairs for a form-urlencoded request. * * @param params List of key-value pairs to serialize * @return The result of serialization */ export declare function urlEncodeKeyValuePairs(params: FormKeyValuePairList): string; //# sourceMappingURL=queryString.d.ts.map