import { UseMutationOptions, UseMutationResult, UseQueryResult } from 'react-query'; import { UseQueryOptions } from 'react-query/types/react/types'; import { AxiosError } from 'axios'; import { ApiContext, ApiError, ListRequestQuery, PaginatedList, RequestBody } from '../../api'; import { Checkout } from './model'; import { ItemType } from '../items'; import { PaymentIntent } from '../../payment'; import { BoosterList, OrderList, PackList } from '../../trading'; export declare function getCheckout(api: ApiContext, id: string): Promise; export declare function useCheckout(id?: string, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export interface GetCheckoutsQuery extends ListRequestQuery { wallet?: string; } export type CheckoutList = PaginatedList<'checkouts', Checkout>; export declare function mergeCheckoutInList(checkout: Checkout, checkoutList?: CheckoutList): CheckoutList; export declare function removeCheckoutFromList(id: string, checkoutList?: CheckoutList): CheckoutList; export declare function getCheckouts(api: ApiContext, query?: GetCheckoutsQuery): Promise; export declare function useCheckouts(query?: GetCheckoutsQuery, options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export declare function useActiveWalletCheckouts(options?: Omit, 'queryFn' | 'queryKey'>): UseQueryResult; export interface CheckoutItemBody extends RequestBody { type?: ItemType; order?: string; booster?: string; pack?: string; } export interface CheckoutBody extends RequestBody { items?: CheckoutItemBody[] | string; wallet?: string; expiration?: string; payment_method?: string; } export declare function postCheckout(api: ApiContext, body: CheckoutBody): Promise; export declare function usePostCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePostActiveWalletCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putCheckout(api: ApiContext, id: string, body: CheckoutBody): Promise; export type UsePutCheckoutVariables = CheckoutBody & { id: string; }; export declare function usePutCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePutActiveWalletCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function deleteCheckout(api: ApiContext, id: string): Promise; export declare function useDeleteCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function useDeleteActiveWalletCheckout(id: string, options?: Omit, 'mutationFn'>): UseMutationResult; export declare function postCheckoutItem(api: ApiContext, id: string, body: CheckoutItemBody): Promise; export type UsePostCheckoutVariables = CheckoutItemBody & { checkoutId: string; }; export declare function usePostCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePostActiveWalletCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function putCheckoutItem(api: ApiContext, checkoutId: string, itemId: string, body: CheckoutItemBody): Promise; export type PutCheckoutItemVariables = CheckoutItemBody & { checkoutId: string; itemId: string; }; export declare function usePutCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function usePutActiveWalletCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function removeCheckoutItem(api: ApiContext, checkoutId: string, itemId: string): Promise; export type UseRemoveCheckoutItemVariables = { checkoutId: string; itemId: string; }; export declare function useRemoveCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function useRemoveActiveWalletCheckoutItem(options?: Omit, 'mutationFn'>): UseMutationResult; export interface ConfirmCheckoutBody extends RequestBody { wallet?: string; billing?: string; payment_method?: string; card_number?: string; card_exp_month?: string; card_exp_year?: string; card_csc?: string; total_to_pay?: number; return_url?: string; save_payment_method?: boolean; } export interface CheckoutConfirmation { payment_intent?: PaymentIntent; orders?: OrderList; packs?: PackList; boosters?: BoosterList; } export declare function confirmCheckout(api: ApiContext, id: string, body: ConfirmCheckoutBody): Promise; export type UseConfirmCheckoutVariables = ConfirmCheckoutBody & { id: string; }; export declare function useConfirmCheckout(options?: Omit, 'mutationFn'>): UseMutationResult; export declare function useClearActiveWalletCheckouts(): () => void;