import { RestResponse } from '../../../model/common';
import { Response } from '../../../internal/interfaces/serializable';
export declare class GetWithdrawalHistoryByIdResp implements Response<RestResponse> {
    /**
     * Unique ID
     */
    id: string;
    /**
     * User ID
     */
    uid: number;
    /**
     * A unique currency code that will never change
     */
    currency: string;
    /**
     * The chain id of currency
     */
    chainId: string;
    /**
     * Chain name of currency
     */
    chainName: string;
    /**
     * Currency name; will change after renaming
     */
    currencyName: string;
    /**
     * Status. Available value: REVIEW, PROCESSING, WALLET_PROCESSING, SUCCESS and FAILURE
     */
    status: string;
    /**
     * Failure reason code
     */
    failureReason: string;
    /**
     * Failure reason message
     */
    failureReasonMsg?: string;
    /**
     * Withwrawal address
     */
    address: string;
    /**
     * Address remark. If there’s no remark, it is empty.
     */
    memo: string;
    /**
     * Internal withdrawal or not.
     */
    isInner: boolean;
    /**
     * Withwrawal amount
     */
    amount: string;
    /**
     * Fees charged for withwrawal
     */
    fee: string;
    /**
     * Wallet Transaction ID
     */
    walletTxId?: string;
    /**
     * Address remark
     */
    addressRemark?: string;
    /**
     * Remark
     */
    remark: string;
    /**
     * Creation Time (milliseconds)
     */
    createdAt: number;
    /**
     *
     */
    cancelType: GetWithdrawalHistoryByIdResp.CancelTypeEnum;
    /**
     * Users in some regions need query this field
     */
    taxes?: Array<string>;
    /**
     * Tax description
     */
    taxDescription?: string;
    /**
     * Return status
     */
    returnStatus: GetWithdrawalHistoryByIdResp.ReturnStatusEnum;
    /**
     * Return amount
     */
    returnAmount?: string;
    /**
     * Return currency
     */
    returnCurrency: string;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * common response
     */
    commonResponse?: RestResponse;
    setCommonResponse(response: RestResponse): void;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetWithdrawalHistoryByIdResp;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetWithdrawalHistoryByIdResp;
}
export declare namespace GetWithdrawalHistoryByIdResp {
    enum CancelTypeEnum {
        /**
         * Cancellable
         */
        CANCELABLE,
        /**
         * Cancelling
         */
        CANCELING,
        /**
         * Non-Cancellable
         */
        NON_CANCELABLE
    }
    enum ReturnStatusEnum {
        /**
         * No returned
         */
        NOT_RETURN,
        /**
         * To be returned
         */
        PROCESSING,
        /**
         * Returned
         */
        SUCCESS
    }
}
