/**
 *
 * * Broker | Subaccount
 *
 */
export interface CreateSubaccountResponseV2 {
    subUid: string;
    subaccountName: string;
    status: string;
    permList: string[];
    label: string;
    cTime: string;
}
export interface BrokerSubaccountV2 {
    subUid: string;
    subaccountName: string;
    status: string;
    permList: string[];
    label: string;
    language: string;
    cTime: string;
    uTime: string;
}
export interface ModifySubaccountResponseV2 {
    subUid: string;
    subaccountName: string;
    status: string;
    permList: string[];
    label: string;
    language: string;
    cTime: string;
    uTime: string;
}
export interface SubaccountEmailV2 {
    subUid: string;
    subaccountName: string;
    subaccountEmail: string;
    cTime: string;
    uTime: string;
}
export interface BrokerSubaccountSpotAssetV2 {
    coin: string;
    available: string;
    frozen: string;
    locked: string;
    uTime: string;
}
export interface BrokerSubaccountFutureAssetV2 {
    marginCoin: string;
    available: string;
    frozen: string;
    locked: string;
    crossedMaxAvailable: string;
    isolatedMaxAvailable: string;
    maxTransferOut: string;
    accountEquity: string;
    usdtEquity: string;
    btcEquity: string;
    uTime: string;
}
export interface CreateSubaccountDepositAddressV2 {
    subUid: string;
    coin: string;
    address: string;
    chain: string;
    tag: string;
    url: string;
    cTime: string;
}
export interface SubaccountDepositV2 {
    orderId: string;
    txId: string;
    coin: string;
    type: string;
    dest: string;
    amount: string;
    status: string;
    fromAddress: string;
    toAddress: string;
    fee: string;
    chain: string;
    confirm: string;
    tag: string;
    cTime: string;
    uTime: string;
}
export interface BrokerSubaccountWithdrawalV2 {
    orderId: string;
    txId: string;
    coin: string;
    type: string;
    dest: string;
    amount: string;
    status: string;
    fromAddress: string;
    toAddress: string;
    fee: string;
    chain: string;
    confirm: string;
    tag: string;
    userId: string;
    cTime: string;
    uTime: string;
}
/**
 *
 *  Broker | Api Key
 *
 */
export interface CreateSubaccountApiKeyResponseV2 {
    subUid: string;
    apiKey: string;
    secretKey: string;
    label: string;
    ipList: string[];
    permType: string;
    permList: string[];
}
export interface SubaccountApiKeyV2 {
    subUid: string;
    label: string;
    apiKey: string;
    secretKey: string;
    permType: string;
    permList: string[];
    ipList: string[];
}
export interface ModifySubaccountApiKeyResponseV2 {
    subUid: string;
    apiKey: string;
    label: string;
    ipList: string[];
    permType: string;
    permList: string[];
}
/**
 *
 * * Broker | All Sub-accounts Deposit and Withdrawal Records
 *
 */
export interface AllSubDepositWithdrawalRecordV2 {
    uid: string;
    txId: string;
    type: 'deposit' | 'withdrawal';
    subType: 'onchain' | 'internal' | 'fast';
    coin: string;
    amount: string;
    status: 'pending' | 'fail' | 'success';
    ts: string;
}
/**
 *
 * * Broker | Subaccounts
 *
 */
export interface BrokerSubaccountInfoV2 {
    uid: string;
    asset: string;
    firstTimeDeposit: string;
    firstTimeTrade: string;
    registerTime: string;
}
/**
 *
 * * Broker | Commissions
 *
 */
export interface BrokerCommissionV2 {
    uid: string;
    coin: string;
    symbol: string;
    dealtAmount: string;
    totalFee: string;
    deductedFee: string;
    paidFee: string;
    markUpFee: string;
    totalCommission: string;
}
/**
 *
 * * Broker | Trade Volume
 *
 */
export interface BrokerTradeVolumeV2 {
    uid: string;
    volume: string;
    spotVolume: string;
    futureVolume: string;
}
/**
 *
 * * Broker | Total Commission
 *
 */
export interface BrokerTotalCommissionV2 {
    date: string;
    totalTradingVolume: string;
    totalActiveTraders: string;
    totalCommission: string;
    spot: {
        spotTradingVolume: string;
        spotTradingFee: string;
        spotPureTradingFee: string;
        spotCommission: string;
    };
    futures: {
        futuresTradingVolume: string;
        futuresTradingFee: string;
        futuresPureTradingFee: string;
        futuresCommission: string;
    };
}
/**
 *
 * * Broker | Order Commission
 *
 */
export interface BrokerOrderCommissionItemV2 {
    fillId: string;
    orderId: string;
    ts: string;
    clientOid: string;
    bizType: 'spot' | 'futures';
    subBizType: 'spot_trade' | 'spot_margin' | 'usdt_futures' | 'coin_futures' | 'usdc_futures';
    symbol: string;
    volume: string;
    fee: string;
    pureFee: string;
    rebateAmount: string;
}
export interface BrokerOrderCommissionV2 {
    commissionlist: BrokerOrderCommissionItemV2[];
    endId: string;
}
/**
 *
 * * Broker | Rebate Info
 *
 */
export interface BrokerRebateInfoV2 {
    affiliationType: 'affiliate' | 'official';
    userLevel: string;
    clientSpotRebateRatio: string;
    clientFuturesRebateRatio: string;
}
/**
 *
 * * Broker | Agent (affiliate) customer APIs
 *
 */
export interface AgentCustomerCommissionItemV2 {
    uid: string;
    date: string;
    coin: string;
    symbol: string;
    productType: 'SPOT' | 'MARGIN' | 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES' | string;
    dealAmount: string;
    fee: string;
    feeDeduction: string;
    activityBonusDeduct: string;
    spotCouponDeduct: string;
    futuresCouponDeduct: string;
    spotFeeDiscountDeduct: string;
    negativeMakerFeeDeduct: string;
    feePaid: string;
    rebateAmount: string;
    userTotalRebateAmount: string;
    dayTotalRebateAmount: string;
    totalRebateAmount: string;
}
export interface AgentCustomerCommissionsV2 {
    endId: string;
    commissionList: AgentCustomerCommissionItemV2[];
}
export interface AgentSubCustomerItemV2 {
    uid: string;
    registerTime: string;
}
export interface AgentSubCustomerListV2 {
    list: AgentSubCustomerItemV2[];
    minId: string;
}
export interface AgentCustomerTradeVolumeItemV2 {
    uid: string;
    /** API field name (Bitget spelling). */
    volumn: string;
    spotVolume: string;
    futuresVolume: string;
    time: string;
}
export interface AgentCustomerListItemV2 {
    uid: string;
    registerTime: string;
}
export interface AgentCustomerKycItemV2 {
    uid: string;
    kycResult: 'passed' | 'not_passed' | string;
}
export interface AgentCustomerKycResultV2 {
    userList: AgentCustomerKycItemV2[];
    endId: string;
}
export interface AgentCustomerDepositItemV2 {
    orderId: string;
    uid: string;
    depositTime: string;
    depositCoin: string;
    depositAmount: string;
}
export interface AgentCustomerAssetItemV2 {
    balance: string;
    uid: string;
    uTime: string;
    remark: string;
}
export interface AgentCommissionDetailItemV2 {
    uid: string;
    bizType: 'spot' | 'futures' | string;
    subBizType: string;
    symbol: string;
    coin: string;
    fee: string;
    volume: string;
    activityBonusDeduct: string;
    spotCouponDeduct: string;
    futuresCouponDeduct: string;
    spotFeeDiscountDeduct: string;
    negativeMakerFeeDeduct: string;
    feePaid: string;
    directCommission: string;
    subCommission: string;
    partnerCommission: string;
    partnerActualCommission: string;
    traderType: string;
    apiType: string;
    status: 'settled' | 'unsettled' | 'notIssued' | string;
    startCalculationTime: string;
    endCalculationTime: string;
}
export interface AgentCommissionDetailV2 {
    endId: string;
    commissionList: AgentCommissionDetailItemV2[];
}
