import React, { forwardRef, useImperativeHandle } from 'react' import { removeTicketFromResale, resaleTicket } from '../../api/ApiClient' import { IFetchAccessTokenResponse, IRemoveTicketFromResaleResponse, IResaleTicketResponse, } from '../../api/types' import { refreshAccessToken as refreshAccessTokenAsync } from '../../helpers/RefreshAccessToken' import { ICoreProps } from '../CoreProps' import { OrderDetailsCoreHandle } from './OrderDetailsCoreTypes' const OrderDetailsCore = forwardRef((props, ref) => { useImperativeHandle(ref, () => ({ async resaleTicket( data: FormData, orderHash: string ): Promise { return await resaleTicket(data, orderHash) }, async removeTicketFromResale( orderHash: string ): Promise { return await removeTicketFromResale(orderHash) }, async refreshAccessToken(refreshToken?: string): Promise { return await refreshAccessTokenAsync(refreshToken) }, })) return <>{props.children} }) export default OrderDetailsCore