/**
 *
 * EARN
 *
 */
export interface SubscribeEarnFixedIncomeResponse {
    orderId: string;
    orderTxId: string;
}
export interface InitiateRedemptionResponse {
    orderTxId: string;
    deliverTime: number;
    status: 'SUCCESS' | 'PENDING';
    amount: string;
}
export interface GetEarnRedeemPreviewResponse {
    currency: string;
    redeemAmount: string;
    penaltyInterestAmount: string;
    redeemPeriod: number;
    deliverTime: number;
    manualRedeemable: boolean;
    redeemAll: boolean;
}
export interface EarnFixedIncomeHoldAsset {
    orderId: string;
    productId: string;
    productCategory: string;
    productType: string;
    currency: string;
    incomeCurrency: string;
    returnRate: string;
    holdAmount: string;
    redeemedAmount: string;
    redeemingAmount: string;
    lockStartTime: number;
    lockEndTime: number | null;
    purchaseTime: number;
    redeemPeriod: number;
    status: 'LOCKED' | 'REDEEMING';
    earlyRedeemSupported: 0 | 1;
}
export interface EarnFixedIncomeHoldAssets {
    totalNum: number;
    items: EarnFixedIncomeHoldAsset[];
    currentPage: number;
    pageSize: number;
    totalPage: number;
}
export interface EarnProduct {
    id: string;
    currency: string;
    category: 'DEMAND' | 'ACTIVITY' | 'KCS_STAKING' | 'STAKING' | 'ETH2';
    type: 'TIME' | 'DEMAND';
    precision: number;
    productUpperLimit: string;
    userUpperLimit: string;
    userLowerLimit: string;
    redeemPeriod: number;
    lockStartTime: number;
    lockEndTime: number | null;
    applyStartTime: number;
    applyEndTime: number | null;
    returnRate: string;
    incomeCurrency: string;
    earlyRedeemSupported: 0 | 1;
    productRemainAmount: string;
    status: 'ONGOING' | 'PENDING' | 'FULL' | 'INTERESTING';
    redeemType: 'MANUAL' | 'TRANS_DEMAND' | 'AUTO';
    incomeReleaseType: 'DAILY' | 'AFTER';
    interestDate: number;
    duration: number;
    newUserOnly: 0 | 1;
}
/**
 *
 * STRUCTURED EARN - DUAL
 *
 */
export interface StructuredProductPurchaseResponse {
    orderId: string;
}
export interface DualInvestmentProduct {
    category: 'DUAL_CLASSIC' | 'DUAL_BOOSTER' | 'DUAL_EXTRA';
    productId: string;
    targetCurrency: string;
    quoteCurrency: string;
    investCurrency: string;
    strikeCurrency: string;
    strikePrice: string;
    protectPrice?: string;
    annualRate: string;
    expirationTime: number;
    side: 'CALL' | 'PUT';
    expectSettleTime: number;
    duration: string;
    lowerLimit: string;
    upperLimit: string;
    availableScale: string;
    soldStatus: 'SOLD_OUT' | 'AVAILABLE';
    increment: string;
}
export interface StructuredProductOrder {
    category: string;
    side: string;
    duration: string;
    apr: string;
    investCurrency: string;
    strikeCurrency: string;
    investAmount: string;
    settleAmount: string;
    settleCurrency: string | null;
    targetPrice: string;
    settlePrice: string;
    expirationTime: number;
    orderId: string;
    status: string;
}
export interface StructuredProductOrders {
    currentPage: number;
    pageSize: number;
    totalNum: number;
    totalPage: number;
    items: StructuredProductOrder[];
}
