import { Address } from '../models/Address'; import { BuyerAddress } from '../models/BuyerAddress'; import { Order } from '../models/Order'; import { RequiredDeep } from '../models/RequiredDeep'; export default class ValidatedAddresses { private impersonating; /** * @ignore * not part of public api, don't include in generated docs */ constructor(); /** * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ CreateAdminAddress(address: Address, accessToken?: string): Promise>; /** * @param addressID ID of the address. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SaveAdminAddress(addressID: string, address: Address, accessToken?: string): Promise>; /** * @param addressID ID of the address. * @param address * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ PatchAdminAddress(addressID: string, address: Address, accessToken?: string): Promise>; /** * @param buyerID ID of the buyer. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ CreateBuyerAddress(buyerID: string, address: Address, accessToken?: string): Promise>; /** * @param buyerID ID of the buyer. * @param addressID ID of the address. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SaveBuyerAddress(buyerID: string, addressID: string, address: Address, accessToken?: string): Promise>; /** * @param buyerID ID of the buyer. * @param addressID ID of the address. * @param address * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ PatchBuyerAddress(buyerID: string, addressID: string, address: Address, accessToken?: string): Promise>; /** * @param buyerAddress Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ CreateMeAddress(buyerAddress: BuyerAddress, accessToken?: string): Promise>; /** * @param addressID ID of the address. * @param buyerAddress Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SaveMeAddress(addressID: string, buyerAddress: BuyerAddress, accessToken?: string): Promise>; /** * @param addressID ID of the address. * @param buyerAddress * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ PatchMeAddress(addressID: string, buyerAddress: BuyerAddress, accessToken?: string): Promise; /** * @param direction Direction of the address. Possible values: Incoming, Outgoing. * @param orderID ID of the order. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SetBillingAddress(direction: 'Incoming' | 'Outgoing', orderID: string, address: Address, accessToken?: string): Promise>; /** * @param direction Direction of the address. Possible values: Incoming, Outgoing. * @param orderID ID of the order. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SetShippingAddress(direction: 'Incoming' | 'Outgoing', orderID: string, address: Address, accessToken?: string): Promise>; /** * @param supplierID ID of the supplier. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ CreateSupplierAddress(supplierID: string, address: Address, accessToken?: string): Promise>; /** * @param supplierID ID of the supplier. * @param addressID ID of the address. * @param address Required fields: Street1, City, State, Zip, Country * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ SaveSupplierAddress(supplierID: string, addressID: string, address: Address, accessToken?: string): Promise>; /** * @param supplierID ID of the supplier. * @param addressID ID of the address. * @param address * @param accessToken Provide an alternative token to the one stored in the sdk instance (useful for impersonation). */ PatchSupplierAddress(supplierID: string, addressID: string, address: Address, accessToken?: string): Promise>; /** * @description * enables impersonation by calling the subsequent method with the stored impersonation token * * @example * ValidatedAddresses.As().List() // lists ValidatedAddresses using the impersonated users' token */ As(): this; }