export interface SetLeverageRequestV3 {
    category: 'MARGIN' | 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES';
    symbol?: string;
    leverage: string;
    coin?: string;
    posSide?: 'long' | 'short';
}
export interface GetConvertRecordsRequestV3 {
    fromCoin: string;
    toCoin: string;
    startTime?: string;
    endTime?: string;
    limit?: string;
    cursor?: string;
}
export interface GetFinancialRecordsRequestV3 {
    category: 'SPOT' | 'MARGIN' | 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES';
    coin?: string;
    type?: string;
    startTime?: string;
    endTime?: string;
    limit?: string;
    cursor?: string;
}
export interface RepayRequestV3 {
    repayableCoinList: string[];
    paymentCoinList: string[];
}
export interface CreateSubAccountApiKeyRequestV3 {
    subUid: string;
    note: string;
    type: 'read_write' | 'read_only';
    passphrase: string;
    permissions: string[];
    ips: string[];
}
export interface DeleteSubAccountApiKeyRequestV3 {
    apiKey: string;
}
export interface GetSubAccountApiKeysRequestV3 {
    subUid: string;
    limit?: string;
    cursor?: string;
}
export interface UpdateSubAccountApiKeyRequestV3 {
    apiKey: string;
    passphrase: string;
    type?: 'read_write' | 'read_only';
    permissions?: string[];
    ips?: string[];
}
export interface CreateSubAccountRequestV3 {
    username: string;
    accountMode?: 'classic' | 'unified';
    note?: string;
}
export interface FreezeSubAccountRequestV3 {
    subUid: string;
    operation: 'freeze' | 'unfreeze';
}
export interface GetSubAccountListRequestV3 {
    limit?: string;
    cursor?: string;
}
export interface TransferRequestV3 {
    fromType: 'spot' | 'p2p' | 'coin-futures' | 'usdt-futures' | 'usdc-futures' | 'crossed-margin' | 'isolated-margin' | 'uta';
    toType: 'spot' | 'p2p' | 'coin-futures' | 'usdt-futures' | 'usdc-futures' | 'crossed-margin' | 'isolated-margin' | 'uta';
    amount: string;
    coin: string;
    symbol?: string;
    /** Enable automatic margin borrowing when balance insufficient. yes | no */
    allowBorrow?: 'yes' | 'no';
}
export interface GetTransferableCoinsRequestV3 {
    fromType: 'spot' | 'p2p' | 'coin-futures' | 'usdt-futures' | 'usdc-futures' | 'crossed-margin' | 'isolated-margin' | 'uta';
    toType: 'spot' | 'p2p' | 'coin-futures' | 'usdt-futures' | 'usdc-futures' | 'crossed-margin' | 'isolated-margin' | 'uta';
}
export interface GetSubTransferRecordsRequestV3 {
    subUid?: string;
    role?: 'initiator' | 'receiver';
    coin?: string;
    startTime?: string;
    endTime?: string;
    clientOid?: string;
    limit?: string;
    cursor?: string;
}
export interface SubAccountTransferRequestV3 {
    fromType: 'spot' | 'p2p' | 'usdt_futures' | 'coin_futures' | 'usdc_futures' | 'crossed_margin' | 'uta';
    toType: 'spot' | 'p2p' | 'usdt_futures' | 'coin_futures' | 'usdc_futures' | 'crossed_margin' | 'uta';
    amount: string;
    coin: string;
    fromUserId: string;
    toUserId: string;
    clientOid: string;
    /** Enable automatic margin borrowing when balance insufficient. yes | no */
    allowBorrow?: 'yes' | 'no';
}
export interface GetSubUnifiedAssetsRequestV3 {
    subUid?: string;
    cursor?: string;
    limit?: string;
}
export interface GetFeeRateRequestV3 {
    category: 'SPOT' | 'MARGIN' | 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES';
    symbol: string;
}
export interface GetFundingAssetsRequestV3 {
    coin?: string;
}
export interface SwitchDeductRequestV3 {
    deduct: 'on' | 'off';
}
export interface GetDepositAddressRequestV3 {
    coin: string;
    chain?: string;
    size?: string;
}
export interface GetSubDepositAddressRequestV3 {
    subUid: string;
    coin: string;
    chain?: string;
    size?: string;
}
export interface GetDepositRecordsRequestV3 {
    coin?: string;
    orderId?: string;
    startTime: string;
    endTime: string;
    limit?: string;
    cursor?: string;
}
export interface GetSubDepositRecordsRequestV3 {
    coin?: string;
    subUid: string;
    startTime: string;
    endTime: string;
    limit?: string;
    cursor?: string;
}
export interface WithdrawRequestV3 {
    coin: string;
    chain?: string;
    transferType: 'on_chain' | 'internal_transfer';
    address: string;
    innerToType?: 'uid' | 'email' | 'mobile';
    areaCode?: string;
    tag?: string;
    size: string;
    remark?: string;
    clientOid?: string;
    memberCode?: 'bithumb' | 'korbit' | 'coinone';
    identityType?: 'company' | 'user';
    companyName?: string;
    firstName?: string;
    lastName?: string;
}
export interface GetWithdrawRecordsRequestV3 {
    coin?: string;
    orderId?: string;
    clientOid?: string;
    startTime: string;
    endTime: string;
    limit?: string;
    cursor?: string;
}
export interface SetDepositAccountRequestV3 {
    coin: string;
    accountType: 'funding' | 'unified' | 'otc';
}
export interface GetMaxTransferableRequestV3 {
    coin: string;
}
export interface GetOpenInterestLimitRequestV3 {
    symbol: string;
    category: 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES';
}
export interface GetTaxRecordsRequestV3 {
    bizType: 'SPOT' | 'MARGIN' | 'USDT-FUTURES' | 'COIN-FUTURES' | 'USDC-FUTURES' | 'OTHER';
    marginType?: 'isolated' | 'crossed';
    coin?: string;
    startTime: string;
    endTime: string;
    limit?: string;
    cursor?: string;
}
