import { z } from "@medusajs/framework/zod";
export declare const AddressPayload: z.ZodObject<{
    first_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    last_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    phone: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    company: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    address_1: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    address_2: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    city: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    country_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    province: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    postal_code: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
}, z.core.$strict>;
/**
 * Validates that a string is either empty, the placeholder "#", or a URL using
 * the http: or https: scheme. Rejects dangerous schemes such as javascript:,
 * data:, and vbscript: that can lead to stored XSS when rendered in an href.
 */
export declare const safeHttpUrl: z.ZodString;
export declare const BigNumberInput: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodObject<{
    value: z.ZodString;
    precision: z.ZodNumber;
}, z.core.$strip>]>;
/**
 * Return a zod object to apply the $and and $or operators on a schema.
 *
 * @param {ZodObject<any>} schema
 * @return {ZodObject<any>}
 */
export declare const applyAndAndOrOperators: <T extends z.ZodObject<any>>(schema: T) => z.ZodObject<{
    [x: string]: any;
    $and: z.ZodOptional<z.ZodLazy<z.ZodArray<T>>>;
    $or: z.ZodOptional<z.ZodLazy<z.ZodArray<T>>>;
}, z.core.$strip>;
/**
 * Validates that a value is a boolean when it is passed as a string.
 */
export declare const booleanString: () => z.ZodPipe<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>, z.ZodTransform<boolean, string | boolean>>;
/**
 * Apply a transformer on a schema when the data are validated and recursively normalize the data $and and $or.
 *
 * @param {(data: Data) => NormalizedData} transform
 * @return {(data: Data) => NormalizedData}
 */
export declare function recursivelyNormalizeSchema<Data extends object, NormalizedData extends object>(transform: (data: Data) => NormalizedData): (data: Data) => NormalizedData;
//# sourceMappingURL=common.d.ts.map