import { RequestParameter } from '../transport/types.js'; /** * Options for parameter serialization. */ export type SerializationOptions = { /** Whether to use exploded parameter format */ explode: boolean; /** The serialization style to use */ style: SerializationStyle; /** Whether to URL-encode the parameter */ encode: boolean; }; /** * OpenAPI parameter serialization styles. * Defines how parameters should be formatted in the request. */ export declare enum SerializationStyle { /** Simple comma-separated values (e.g., "3,4,5") */ SIMPLE = "simple", /** Label prefix with dot notation (e.g., ".3.4.5") */ LABEL = "label", /** Matrix semicolon-prefixed (e.g., ";id=3;id=4") */ MATRIX = "matrix", /** Form-style ampersand-separated (e.g., "id=3&id=4") */ FORM = "form", /** Space-delimited values (e.g., "id=3 4 5") */ SPACE_DELIMITED = "space_delimited", /** Pipe-delimited values (e.g., "id=3|4|5") */ PIPE_DELIMITED = "pipe_delimited", /** Deep object notation (e.g., "id[role]=admin") */ DEEP_OBJECT = "deep_object", /** No specific style applied */ NONE = "none" } /** * Base serializer class for converting request parameters to string format. * Supports multiple OpenAPI serialization styles for primitives, arrays, and objects. */ export declare class Serializer { /** * Serializes a parameter value based on its type and serialization style. * @param param - The request parameter to serialize * @returns The serialized string representation */ protected serializeValue(param: RequestParameter): string; /** * Serializes a primitive value (string, number, boolean). * @param param - The request parameter containing the primitive value * @returns The serialized primitive string */ private serializePrimitive; /** * Serializes an array value according to the specified style. * @param value - The array to serialize * @param param - The request parameter configuration * @returns The serialized array string */ private serializeArray; /** * Serializes an array in exploded format where each value is a separate parameter. * @param value - The array to serialize * @param param - The request parameter configuration * @returns The serialized exploded array string */ private serializeArrayExploded; /** * Serializes an object value according to the specified style. * @param obj - The object to serialize * @param param - The request parameter configuration * @returns The serialized object string */ private serializeObject; /** * Type guard to check if a value is a non-null object. * @param value - The value to check * @returns True if the value is an object and not null */ private isNonNullObject; } //# sourceMappingURL=base-serializer.d.ts.map