import type { Treaty } from "@elysiajs/eden"; import type { client } from "."; import type { AssetCodeEnum, PaymentChannelEnum, WithdrawMethodEnum } from "./enum"; import type { authClient } from "@/auth"; export type DepositFiatBody = Parameters[0] & { paymentChannel: PaymentChannelEnum; assetCode: AssetCodeEnum; }; export type TreatyQuery = T extends (...args: any[]) => any ? NonNullable[0]>["query"]> : never; export type TreatyBody = T extends (...args: any[]) => any ? NonNullable[0]> : never; export type DepositFiatData = Treaty.Data; export type BalancesData = Treaty.Data; export type WithdrawBody = Omit[0], "assetCode" | "withdrawMethod"> & { assetCode: AssetCodeEnum; withdrawMethod: WithdrawMethodEnum; }; export type UserProfileData = Treaty.Data; export type UpdateUserProfileBody = TreatyBody; export type RwaIssuanceProductsData = Treaty.Data; export type RwaIssuanceProductBody = TreatyBody; export type RwaIssuanceCategoriesData = Treaty.Data; export type BankAccountsData = Treaty.Data; export type BankAccountBody = TreatyBody; export type BankAccountData = Treaty.Data; export type SupportBanksData = Treaty.Data; export type AvailableSubscriptionBody = TreatyQuery; export type RwaData = Treaty.Data["data"][number]; export type MyIssueRwaData = Treaty.Data["data"][number]; export type MySubscribeRwaData = Treaty.Data["data"][number]; export type MySubscribeRwaBody = TreatyQuery; export type PhoneNumberVerifyClient = TreatyBody; export type UsernameClient = TreatyBody; export type EmailVerifyClient = TreatyBody;