import { Resource } from "../resource"; import { StoreUnclaimedOrder, SavedStoreUnclaimedOrder, APIUnclaimedOrderResponse, APIUnclaimedOrderRequest, UnclaimedOrderStatus } from "./interfaces"; import { SavedStoreLineItem, StoreLineItem } from "../order/interfaces"; import { Response } from "src/server"; export declare class UnclaimedOrder extends Resource { /** * The id of the user this unclaimed order belongs to */ userId?: string; /** * The email of the patient to which the unclaimed order */ email: string; /** * The current status of this unclaimed order */ status?: UnclaimedOrderStatus; /** * Is the practioner the one paying or the patient */ practitionerWillPay: boolean; /** * Any discount coupons to apply to this unclaimed order. */ coupon?: string; /** * The name of the user this unclaimed order belongs to */ fromName?: string; /** * The order attaches to this unclaimed order */ order?: string | null; /** * The date and time this order was created. */ createdAt?: string; /** * The name of the person this unclaimed order will be shipped to */ shipToName?: string; /** * The company this unclaimed order should be shipped to */ shipToCompany?: string; /** * The contact person for this unclaimed order */ shipToContact?: string; /** * The first address line */ shipToAddress?: string; /** * The second address line */ shipToAddress1?: string; /** * The city to ship to */ shipToCity?: string; /** * The state to ship to */ shipToState?: string; /** * The postal code to ship to */ shipToPostalCode?: string; /** * The country to ship to */ shipToCountry?: string; /** * The contact phone number for the order */ phoneNumber?: string; /** * The line items in this order. */ lineItems: Array; constructor(email: string, practitionerWillPay: boolean, lineItems: Array, status?: UnclaimedOrderStatus, userId?: string, coupon?: string, fromName?: string, order?: string | null, createdAt?: string, shipToName?: string, shipToCompany?: string, shipToContact?: string, shipToAddress?: string, shipToAddress1?: string, shipToCity?: string, shipToState?: string, shipToPostalCode?: string, shipToCountry?: string, phoneNumber?: string); /** * The name of the unclaimedOrder resource on the API server. */ static get resourceName(): string; /** * The name of the service containing the unclaimedOrder resource. */ static get serviceName(): string; /** * Convert the unclaimedOrder into a JSON serializable object for the API server. */ serializeAPI(): APIUnclaimedOrderRequest; /** * Deserialize the data from the API server. * * @param data The unclaimedOrder data from the API server. */ deserializeAPI(data: APIUnclaimedOrderResponse): void; /** * Serialize the unclaimedOrder into a format for storing in the Redux store. */ serializeRedux(): SavedStoreUnclaimedOrder; /** * Handle any http errors. * * @param response The response. * * @returns `null`. */ protected static handleError(response: Response): null; /** * Create an unclaimedOrder from the API server data. * * @param data Data from the api server. * * @returns The unclaimedOrder object. */ static apiFactory(data: APIUnclaimedOrderResponse): UnclaimedOrder; /** * Create an unclaimedOrder from the Redux store data. * * @param data Data from the api server. * * @returns The unclaimedOrder object. */ static reduxFactory(data: StoreUnclaimedOrder): UnclaimedOrder; /** * Check that the line items are consistent with the store line items. */ private checkSavedStoreLineItem; /** * Convert the given list of line items to camel case. */ private static convertLineItemsToCamelCase; /** * Convert this unclained order's line items to snake case. */ private convertLineItemsToSnakeCase; }