import type { CheckoutOrderDeliveryBundleEntity, CheckoutOrderEntityDenormalized, CheckoutOrderItemEntity, CheckoutOrderItemProductEntity } from '../entities/index.js'; import type { CheckoutOrderContext, CheckoutOrderDeliveryBundleUpgrade, CheckoutOrderDeliveryWindowType, CheckoutOrderShippingOption, ClickAndCollect, GetCollectPointsQuery } from '@farfetch/blackout-client'; import type { CheckoutOrderOperationsNormalized } from './types/index.js'; import type { StoreState } from '../types/index.js'; export type CheckoutOrderDeliveryBundleWindow = { minEstimatedDeliveryDate: string; maxEstimatedDeliveryDate: string; }; export declare enum TimeLimitType { min = 0, max = 1 } /** * Returns the checkout id. * * @param state - Application state. * * @returns Checkout order id. */ export declare const getCheckoutOrderId: (state: StoreState) => number | null; /** * Returns the checkout order result obtained by invoking the action * `fetchCheckoutOrder`. * * @param state - Application state. * * @returns Fetch checkout order result or undefined if no result is found. */ export declare const getCheckoutOrderResult: (state: StoreState) => { checkoutOrder: CheckoutOrderEntityDenormalized | undefined; id: number; '@controls'?: { [key: string]: import("@farfetch/blackout-client").HypermediaLink; } | undefined; orderStatus: import("@farfetch/blackout-client").OrderStatusError; paymentMethods?: import("@farfetch/blackout-client").PaymentMethods | undefined; shippingOptions?: CheckoutOrderShippingOption[] | undefined; userPaymentTokens?: import("@farfetch/blackout-client").PaymentToken[] | undefined; paymentRequestId?: string | undefined; deliveryBundles?: string[] | undefined; } | undefined; /** * Returns the checkout order. * * @param state - Application state. * * @returns Checkout order entity or undefined. */ export declare const getCheckoutOrder: (state: StoreState) => CheckoutOrderEntityDenormalized | undefined; /** * Returns the checkout order details. * * @param state - Application state. * * @returns Checkout order details or undefined. */ export declare const getCheckoutOrderDetails: (state: StoreState) => { checkoutOrder: CheckoutOrderEntityDenormalized | undefined; deliveryBundles?: import("@farfetch/blackout-client").CheckoutOrderDeliveryBundle[] | undefined; shippingOptions?: CheckoutOrderShippingOption[] | undefined; registered: boolean; } | undefined; /** * Returns a specific checkout order item identified by its id. * * @param state - Application state. * @param checkoutOrderItemId - Checkout order item id. * * @returns Checkout order item object. */ export declare const getCheckoutOrderItem: (state: StoreState, checkoutOrderItemId: number) => CheckoutOrderItemEntity | undefined; /** * Returns the product identified by the checkout order item id. * * @param state - Application state. * @param checkoutOrderItemId - Checkout order item id. * * @returns Product object. */ export declare const getCheckoutOrderItemProduct: (state: StoreState, checkoutOrderItemId: number) => CheckoutOrderItemProductEntity | undefined; /** * Returns all the checkout collect points. * * @param state - Application state. * * @returns List of checkout collect points. */ export declare const getCollectPoints: (state: StoreState, query?: GetCollectPointsQuery) => import("../types/nullable.types.js").Nullable; /** * Returns the selected collect point. * * @param state - Application state. * * @returns Selected collect point. */ export declare const getCheckoutOrderSelectedCollectPoint: (state: StoreState) => ClickAndCollect | undefined; /** * Returns the checkout order shipping options. * * @param state - Application state. * * @returns Checkout shipping options. */ export declare const getCheckoutOrderShippingOptions: (state: StoreState) => CheckoutOrderShippingOption[] | undefined; /** * Returns a specific checkout delivery bundle identified by its id. * * @param state - Application state. * @param deliveryBundleId - Delivery bundle id. * * @returns Delivery bundle. */ export declare const getCheckoutOrderDeliveryBundle: (state: StoreState, deliveryBundleId: string) => CheckoutOrderDeliveryBundleEntity | undefined; /** * Returns the selected checkout delivery bundle identified by its id. * * @param state - Application state. * * @returns Selected delivery bundle id. */ export declare const getCheckoutOrderSelectedDeliveryBundleId: (state: StoreState) => string | undefined; /** * Returns the checkout order delivery bundles. * * @param state - Application state. * * @returns Checkout delivery bundles ids. */ export declare const getCheckoutOrderDeliveryBundlesIds: (state: StoreState) => Array | undefined; /** * Returns the checkout delivery bundles. * * @param state - Application state. * * @returns Checkout delivery bundles. */ export declare const getCheckoutOrderDeliveryBundles: (state: StoreState) => CheckoutOrderDeliveryBundleEntity[] | undefined; /** * Returns all the delivery upgrades identified by its delivery bundle. * * @param state - Application state. * @param deliveryBundleId - Delivery bundle id. * * @returns Delivery bundle upgrades. */ export declare const getCheckoutOrderDeliveryBundleUpgrades: (state: StoreState, deliveryBundleId: CheckoutOrderDeliveryBundleUpgrade['id']) => import("@farfetch/blackout-client").CheckoutOrderDeliveryBundleUpgrades | undefined; /** * Returns a specific delivery bundle upgrade. * * @param state - Application state. * @param deliveryBundleId - Delivery bundle id. * @param itemId - Item id. * @param upgradeType - Upgrade type ('Estimated' or 'Nominated'). * @param upgradeId - Upgrade id. * * @returns Delivery bundle upgrade. */ export declare const getCheckoutOrderDeliveryBundleUpgrade: (state: StoreState, deliveryBundleId: CheckoutOrderDeliveryBundleEntity['id'], itemId: CheckoutOrderDeliveryBundleUpgrade['itemId'], deliveryWindowType: CheckoutOrderDeliveryWindowType | string, upgradeId: CheckoutOrderDeliveryBundleUpgrade['id']) => CheckoutOrderDeliveryBundleUpgrade | undefined; /** * Returns the checkout estimated delivery period for the selected collect point. * * @param state - Application state. * * @returns Checkout estimated delivery period. */ export declare const getCheckoutOrderSelectedCollectPointEstimatedDeliveryPeriod: (state: StoreState) => { start: number | null | undefined; end: number | null | undefined; } | undefined; /** * Returns the error for the checkout order. * * @param state - Application state. * * @returns Checkout error. */ export declare const getCheckoutOrderError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the checkout order. * * @param state - Application state. * * @returns Loading status. */ export declare const isCheckoutOrderLoading: (state: StoreState) => boolean; /** * Returns the fetched status for the checkout order. * * @param state - Application state. * * @returns - If checkout is fetched or not. */ export declare const isCheckoutOrderFetched: (state: StoreState) => boolean; /** * Returns the loading status for the checkout order details operation. * * @param state - Application state. * * @returns Checkout details operation Loading status. */ export declare const areCheckoutOrderDetailsLoading: (state: StoreState) => boolean; /** * Returns the error for the checkout order details operation. * * @param state - Application state. * * @returns Checkout details operation error. */ export declare const getCheckoutOrderDetailsError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the fetched status for the checkout order details operation. * * @param state - Application state. * * @returns Checkout order details operation fetched status. */ export declare const areCheckoutOrderDetailsFetched: (state: StoreState) => boolean; /** * Returns the loading status for the collect points operation. * * @param state - Application state. * * @returns Collect points operation Loading status. */ export declare const areCollectPointsLoading: (state: StoreState, query?: GetCollectPointsQuery) => boolean; /** * Returns the error for the collect points operation. * * @param state - Application state. * * @returns Collect points operation error. */ export declare const getCollectPointsError: (state: StoreState, query?: GetCollectPointsQuery) => import("../types/nullable.types.js").Nullable | undefined; /** * Returns the fetched status for the collect points operation. * * @param state - Application state. * * @returns Collect points operation fetched status. */ export declare const areCollectPointsFetched: (state: StoreState, query?: GetCollectPointsQuery) => boolean; /** * Returns the loading status for the item tags operation. * * @param state - Application state. * * @returns Item tags operation Loading status. */ export declare const areCheckoutOrderItemTagsLoading: (state: StoreState) => boolean; /** * Returns the error for the items tags operation. * * @param state - Application state. * * @returns Items tags operation error. */ export declare const getCheckoutOrderItemTagsError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the checkout order promocodes operation. * * @param state - Application state. * * @returns Promocode operation Loading status. */ export declare const areCheckoutOrderPromocodesLoading: (state: StoreState) => boolean; /** * Returns the error for the checkout order promocodes operation. * * @param state - Application state. * * @returns Promocode operation error. */ export declare const getCheckoutOrderPromocodesError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the tags operation. * * @param state - Application state. * * @returns Tags operation Loading status. */ export declare const areCheckoutOrderTagsLoading: (state: StoreState) => boolean; /** * Returns the error for the tags operation. * * @param state - Application state. * * @returns Tags operation error. */ export declare const getCheckoutOrderTagsError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the update checkout order items operation. * * @param state - Application state. * * @returns Checkout order items update operation loading status. */ export declare const areCheckoutOrderItemsUpdating: (state: StoreState) => boolean; /** * Returns the error for the update checkout order items operation. * * @param state - Application state. * * @returns Update checkout order items operation error. */ export declare const getCheckoutOrderItemsUpdateError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the charge checkout order operation. * * @param state - Application state. * * @returns Charges operation Loading status. */ export declare const isCheckoutOrderChargeLoading: (state: StoreState) => boolean; /** * Returns the charge checkout order error. * * @param state - Application state. * * @returns Charges operation error. */ export declare const getCheckoutOrderChargeError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the result for the charge checkout order operation. * * @param state - Application state. * * @returns Charges operation result. */ export declare const getCheckoutOrderChargeResult: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the fetched status for the charge checkout order operation. * * @param state - Application state. * * @returns Charges operation Loading status. */ export declare const isCheckoutOrderChargeFetched: (state: StoreState) => boolean; /** * Returns the loading status for the delivery bundle upgrades operation. * * @param state - Application state. * * @returns Delivery bundle upgrades operation Loading status. */ export declare const areCheckoutOrderDeliveryBundleUpgradesLoading: (state: StoreState) => boolean; /** * Returns the delivery bundle upgrades error. * * @param state - Application state. * * @returns Delivery bundle upgrades operation error. */ export declare const getCheckoutOrderDeliveryBundleUpgradesError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the item delivery provisioning operation. * * @param state - Application state. * * @returns Item delivery provisioning operation Loading status. */ export declare const isCheckoutOrderDeliveryBundleProvisioningLoading: (state: StoreState) => boolean; /** * Returns the item delivery provisioning error. * * @param state - Application state. * * @returns Item delivery provisioning operation error. */ export declare const getCheckoutOrderDeliveryBundleProvisioningError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the upgrade item delivery provisioning operation. * * @param state - Application state. * * @returns Upgrade item delivery provisioning operation Loading status. */ export declare const isCheckoutOrderDeliveryBundleUpgradeProvisioningLoading: (state: StoreState) => boolean; /** * Returns the upgrade item delivery provisioning error. * * @param state - Application state. * * @returns Upgrade item delivery provisioning operation error. */ export declare const getCheckoutOrderDeliveryBundleUpgradeProvisioningError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the specified delivery bundle window. * * @param state - Application state. * @param deliveryBundleId - Delivery bundle identifier. * * @returns Object with the minimum and maximum delivery days. */ export declare const getCheckoutOrderDeliveryBundleWindow: (state: StoreState, deliveryBundleId: string) => CheckoutOrderDeliveryBundleWindow | undefined; /** * Returns the loading status for the order operation fetch process. * * @param state - Application state. * * @returns Order operation fetch process loading status. */ export declare const isCheckoutOrderOperationLoading: (state: StoreState) => boolean; /** * Returns the order operation error. * * @param state - Application state. * * @returns Order operation error. */ export declare const getCheckoutOrderOperationError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the order operations fetch process. * * @param state - Application state. * * @returns Order operation fetch process loading status. */ export declare const areCheckoutOrderOperationsLoading: (state: StoreState) => boolean; /** * Returns the order operations error. * * @param state - Application state. * * @returns Order operation error. */ export declare const getCheckoutOrderOperationsError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Retrieves pagination information of order operations. * * @param state - Application state. * * @returns Pagination object. * * @example * // Object returned for the orders * \{ * number: 1, // Current page * totalItems: 89, // Total of orders * totalPages: 5 // Total of pages * entries: ['ee8d4602-e0cf-11ec-85eb-74d29fa32cbf'] * \}; * */ export declare const getCheckoutOrderOperationsPagination: (state: StoreState) => CheckoutOrderOperationsNormalized | undefined; /** * Returns the loading status for the order item removing operation. * * @param state - Application state. * * @returns Order operation fetch process loading status. */ export declare const isRemoveOrderItemLoading: (state: StoreState) => boolean; /** * Returns the error for the order item removing operation. * * @param state - Application state. * * @returns Order operation error. */ export declare const getRemoveOrderItemError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the loading status for the order item updating operation. * * @param state - Application state. * * @returns Order operation fetch process loading status. */ export declare const isUpdateOrderItemLoading: (state: StoreState) => boolean; /** * Returns the error for the order item updating operation. * * @param state - Application state. * * @returns Order operation error. */ export declare const getUpdateOrderItemError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the checkout order context loading state for the last operation called (fetch, create, remove). * * @param state - Application state. * * @returns Checkout order context fetch process loading status. */ export declare const isCheckoutOrderContextLoading: (state: StoreState) => boolean; /** * Returns the checkout order context error for the last operation called (fetch, create, remove). * * @param state - Application state. * * @returns Checkout order context error. */ export declare const getCheckoutOrderContextError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the checkout order context for the last operation called (fetch, create). * * @param state - Application state. * * @returns Checkout order context. */ export declare const getCheckoutOrderContext: (state: StoreState) => CheckoutOrderContext | undefined; /** * Returns the loading status for the checkout order contexts fetch process. * * @param state - Application state. * * @returns Checkout order contexts fetch process loading status. */ export declare const areCheckoutOrderContextsLoading: (state: StoreState) => boolean; /** * Returns the Checkout order contexts error. * * @param state - Application state. * * @returns Checkout order contexts error. */ export declare const getCheckoutOrderContextsError: (state: StoreState) => import("../types/nullable.types.js").Nullable; /** * Returns the checkout order contexts entries updated for the last operation called (fetchContexts). * * @param state - Application state. * * @returns List with checkout order contexts. */ export declare const getCheckoutOrderContexts: (state: StoreState) => CheckoutOrderContext[] | undefined;