import * as z from "zod"; import { ClosedEnum } from "../../types/enums.js"; import { Result as SafeParseResult } from "../../types/fp.js"; import { SDKValidationError } from "../errors/sdkvalidationerror.js"; import { Currency } from "./currency.js"; import { CustomMappings, CustomMappings$Outbound } from "./custommappings.js"; import { Email, Email$Outbound } from "./email.js"; import { LinkedEcommerceOrder, LinkedEcommerceOrder$Outbound } from "./linkedecommerceorder.js"; import { PhoneNumber, PhoneNumber$Outbound } from "./phonenumber.js"; /** * The current status of the customer */ export declare const CustomerStatus: { readonly Active: "active"; readonly Archived: "archived"; }; /** * The current status of the customer */ export type CustomerStatus = ClosedEnum; export declare const EcommerceCustomerType: { readonly Billing: "billing"; readonly Shipping: "shipping"; readonly Other: "other"; }; export type EcommerceCustomerType = ClosedEnum; export type Addresses = { type?: EcommerceCustomerType | undefined; /** * A unique identifier for an object. */ id?: string | null | undefined; /** * First line of the street address of the customer */ line1?: string | null | undefined; /** * Second line of the street address of the customer */ line2?: string | null | undefined; /** * City of the customer */ city?: string | null | undefined; /** * State of the customer */ state?: string | null | undefined; /** * Postal code of the customer */ postalCode?: string | null | undefined; /** * Country of the customer */ country?: string | null | undefined; }; export type EcommerceCustomer = { /** * A unique identifier for an object. */ id: string; /** * Full name of the customer */ name?: string | null | undefined; /** * First name of the customer */ firstName?: string | null | undefined; /** * Last name of the customer */ lastName?: string | null | undefined; /** * Company name of the customer */ companyName?: string | null | undefined; /** * The current status of the customer */ status?: CustomerStatus | null | undefined; /** * Indicates the associated currency for an amount of money. Values correspond to [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). */ currency?: Currency | null | undefined; /** * An array of email addresses for the customer. */ emails?: Array | null | undefined; /** * An array of phone numbers for the customer. */ phoneNumbers?: Array | null | undefined; /** * An array of addresses for the customer. */ addresses?: Array | undefined; orders?: Array | undefined; /** * When custom mappings are configured on the resource, the result is included here. */ customMappings?: CustomMappings | null | undefined; /** * The date and time when the object was created. */ createdAt?: Date | null | undefined; /** * The date and time when the object was last updated. */ updatedAt?: Date | null | undefined; }; /** @internal */ export declare const CustomerStatus$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const CustomerStatus$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace CustomerStatus$ { /** @deprecated use `CustomerStatus$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Active: "active"; readonly Archived: "archived"; }>; /** @deprecated use `CustomerStatus$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Active: "active"; readonly Archived: "archived"; }>; } /** @internal */ export declare const EcommerceCustomerType$inboundSchema: z.ZodNativeEnum; /** @internal */ export declare const EcommerceCustomerType$outboundSchema: z.ZodNativeEnum; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace EcommerceCustomerType$ { /** @deprecated use `EcommerceCustomerType$inboundSchema` instead. */ const inboundSchema: z.ZodNativeEnum<{ readonly Billing: "billing"; readonly Shipping: "shipping"; readonly Other: "other"; }>; /** @deprecated use `EcommerceCustomerType$outboundSchema` instead. */ const outboundSchema: z.ZodNativeEnum<{ readonly Billing: "billing"; readonly Shipping: "shipping"; readonly Other: "other"; }>; } /** @internal */ export declare const Addresses$inboundSchema: z.ZodType; /** @internal */ export type Addresses$Outbound = { type?: string | undefined; id?: string | null | undefined; line1?: string | null | undefined; line2?: string | null | undefined; city?: string | null | undefined; state?: string | null | undefined; postal_code?: string | null | undefined; country?: string | null | undefined; }; /** @internal */ export declare const Addresses$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace Addresses$ { /** @deprecated use `Addresses$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `Addresses$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `Addresses$Outbound` instead. */ type Outbound = Addresses$Outbound; } export declare function addressesToJSON(addresses: Addresses): string; export declare function addressesFromJSON(jsonString: string): SafeParseResult; /** @internal */ export declare const EcommerceCustomer$inboundSchema: z.ZodType; /** @internal */ export type EcommerceCustomer$Outbound = { id: string; name?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; company_name?: string | null | undefined; status?: string | null | undefined; currency?: string | null | undefined; emails?: Array | null | undefined; phone_numbers?: Array | null | undefined; addresses?: Array | undefined; orders?: Array | undefined; custom_mappings?: CustomMappings$Outbound | null | undefined; created_at?: string | null | undefined; updated_at?: string | null | undefined; }; /** @internal */ export declare const EcommerceCustomer$outboundSchema: z.ZodType; /** * @internal * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module. */ export declare namespace EcommerceCustomer$ { /** @deprecated use `EcommerceCustomer$inboundSchema` instead. */ const inboundSchema: z.ZodType; /** @deprecated use `EcommerceCustomer$outboundSchema` instead. */ const outboundSchema: z.ZodType; /** @deprecated use `EcommerceCustomer$Outbound` instead. */ type Outbound = EcommerceCustomer$Outbound; } export declare function ecommerceCustomerToJSON(ecommerceCustomer: EcommerceCustomer): string; export declare function ecommerceCustomerFromJSON(jsonString: string): SafeParseResult; //# sourceMappingURL=ecommercecustomer.d.ts.map