/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Currency } from './Currency';
import { EcommerceCustomerAddresses } from './EcommerceCustomerAddresses';
import { Email } from './Email';
import { LinkedEcommerceOrder } from './LinkedEcommerceOrder';
import { PhoneNumber } from './PhoneNumber';
/**
 *
 * @export
 * @interface EcommerceCustomer
 */
export interface EcommerceCustomer {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof EcommerceCustomer
     */
    readonly id: string;
    /**
     * Full name of the customer
     * @type {string}
     * @memberof EcommerceCustomer
     */
    name?: string | null;
    /**
     * First name of the customer
     * @type {string}
     * @memberof EcommerceCustomer
     */
    first_name?: string | null;
    /**
     * Last name of the customer
     * @type {string}
     * @memberof EcommerceCustomer
     */
    last_name?: string | null;
    /**
     * Company name of the customer
     * @type {string}
     * @memberof EcommerceCustomer
     */
    company_name?: string | null;
    /**
     * The current status of the customer
     * @type {string}
     * @memberof EcommerceCustomer
     */
    status?: EcommerceCustomerStatus;
    /**
     *
     * @type {Currency}
     * @memberof EcommerceCustomer
     */
    currency?: Currency | null;
    /**
     * An array of email addresses for the customer.
     * @type {Array<Email>}
     * @memberof EcommerceCustomer
     */
    emails?: Array<Email> | null;
    /**
     * An array of phone numbers for the customer.
     * @type {Array<PhoneNumber>}
     * @memberof EcommerceCustomer
     */
    phone_numbers?: Array<PhoneNumber> | null;
    /**
     * An array of addresses for the customer.
     * @type {Array<EcommerceCustomerAddresses>}
     * @memberof EcommerceCustomer
     */
    addresses?: Array<EcommerceCustomerAddresses>;
    /**
     *
     * @type {Array<LinkedEcommerceOrder>}
     * @memberof EcommerceCustomer
     */
    orders?: Array<LinkedEcommerceOrder>;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof EcommerceCustomer
     */
    readonly custom_mappings?: object | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof EcommerceCustomer
     */
    readonly created_at?: Date | null;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof EcommerceCustomer
     */
    readonly updated_at?: Date | null;
}
/**
 * @export
 * @enum {string}
 */
export declare enum EcommerceCustomerStatus {
    active = "active",
    archived = "archived"
}
export declare function EcommerceCustomerFromJSON(json: any): EcommerceCustomer;
export declare function EcommerceCustomerFromJSONTyped(json: any, ignoreDiscriminator: boolean): EcommerceCustomer;
export declare function EcommerceCustomerToJSON(value?: EcommerceCustomer | null): any;
