/** * Import types from Nadal. */ import type { PaymentCodePayListResponseData, PaymentBankAccountResponseData, PaymentBankListResponseData, PaymentBankScheduleResponseData, TransactionHistoriesResponseData, } from '@kira-dancer/nadal' import type { BaseNadalResponse } from './api' export interface AddBankRequest { accountName: string accountNumber: string withdrawBankCode: string } export interface PhoneCardDepositRequest { method: string card_provider: string card_amount: number card_code: string card_serial: string } export interface PhoneCardProvider { rate: number status: string | number providerId: string providerName: string value?: string label?: string values: CardAmountValue[] } export interface CardAmountValue { label: string value: string } export interface BankListItem extends PaymentBankListResponseData { bank_name_text?: string bankName?: string name?: string isMaintained?: boolean isScheduleBank?: boolean } export interface FastpayItem extends PaymentCodePayListResponseData { bankName?: string label?: string value?: string isScheduleBank?: boolean } export interface FastpayInfo extends PaymentBankAccountResponseData { qr_code?: string notification?: string selectedBank?: FastpayItem | null priorityBank?: FastpayItem | null } export interface CryptoItem { address: string network: string name: string value: string sellPrice: number price: number min: number fee: number allowDeposit?: boolean allowWithdraw?: boolean } export interface CryptoDataResponse { name: string value: string price: string min: number fee: number sellPrice: number } export interface BankSchedule { startTime: number endTime: number startTimeMinutes: string endTimeMinutes: string isStatement: boolean isMaintain: boolean bankName: string } export interface PaymentBankScheduleItem { note?: string status?: boolean start_time: string end_time: string } export interface BankInfoData { account_name: string account_no: string branch_name: string qr_code: string bank_name?: string smartpay_code?: string bank_code?: string selectedBank?: BankListItem | null priorityBank?: BankListItem | null } export interface PaywinResponse { smartpay_code: string bank_name: string isMaintained: boolean bank_code: string } export interface EWalletResponseItem { bank_code: string account_name: string account_no: string qr_code: string label?: string branch_name?: string value?: string } export type PriorityBankMethod = BankListItem | FastpayItem export interface EWalletItem { label: string value: string activeIcon?: string inactiveIcon?: string isMaintainance: boolean items: EWalletResponseItem[] } export interface DepositStoreState { isMaintainedTpayDeposit: boolean tpayCode: string fastpayCode: string phoneCardProviders: PhoneCardProvider[] withdrawBanks: PaymentBankListResponseData[] paywinBanks: BankListItem[] depositFastPays: FastpayItem[] bankSchedules: PaymentBankScheduleResponseData[] cryptos: CryptoItem[] cryptoTimeLeft: number isMaintainedPhoneCardWithdraw: boolean eWallets: EWalletItem[] eWalletCode: string isFetchData?: boolean } export interface EWalletItem { label: string value: string activeIcon?: string inactiveIcon?: string isMaintainance: boolean items: EWalletResponseItem[] } export interface EWalletOption { bank_code: string account_name: string account_no: string qr_code: string label?: string | undefined branch_name?: string | undefined value?: string | undefined } export interface PhoneCardListResponse { cardlist: Record status: number } export interface PhoneCardItem { [key: string]: { rate: number status: number value: number[] } } export interface BankInfoRequest { bank_code: string is_auto: number } export interface FastPayInfoResponse { bank_account_name: string bank_account_no: string bank_code: string bank_name: string code: string content: string } export interface GetFastPayRequest { amount: number package_id: number } export interface QRCodeRequest { amount: number bank_code: string bank_no: string memo: string } export interface SenpayResponse { amount: number bank_account_name: string bank_account_no: string bank_code: string created_time: string expired_time: string qr_code: string qr_code_note: string } export interface AddInvoiceCryptoRequest { method: string currency: string package_id: number } export interface AddInvoiceCryptoResponse extends BaseNadalResponse { data: InvoiceCrypto[] } export interface InvoiceCrypto { currency: string id: number wallet_address: string } export interface CryptoHistoryReponse { data: TransactionHistoriesResponseData[] status: string total: number } export interface CryptoHistory { numberCode?: string date?: string wallet_address?: string status?: string statusPay?: string statusClass?: string link?: string currencyName?: string rateCode?: string timeleftApi?: number isDone?: boolean selectedCrypto?: string packageId?: number } export interface GetFastPayTransferResponse { qrImage: string amount: number bank_account_name: string bank_account_no: string bank_code: string bank_name: string code: string content: string } export interface GetTPayRequest { amount: number package_id: number } export interface TPayInvoiceDataResponse { amount: number; created_time: string; expired_time: string; qr_code: string; bank_code: string; bank_name: string; bank_account_no: string; bank_account_name: string; created_at: string; qr_code_note: string; }