type Primitive = string | number | boolean | null | undefined;
type StringifiedPrimitive<T> = T extends number | boolean ? string : T extends null | undefined ? T : T extends string ? string : never;
type DeepStringified<T> = T extends Array<infer U> ? Array<DeepStringified<U>> : T extends object ? {
    [K in keyof T]: DeepStringified<T[K]>;
} : StringifiedPrimitive<T>;
type StringifiableObject = {
    [key: string]: Stringifiable;
};
type Stringifiable = Primitive | StringifiableObject | Stringifiable[] | unknown;
/**
 * Recursively converts numbers and booleans to strings within an object or array
 * while preserving the original structure.
 *
 * @param value - The value to stringify
 * @returns The transformed value with numbers and booleans converted to strings
 */
export declare function deepStringify<T extends Stringifiable>(value: T): DeepStringified<T>;
export {};
//# sourceMappingURL=deep-stringify.d.ts.map