import { CrossMarginPositionAssetListValue } from './model_cross_margin_position_asset_list_value';
import { WsMessage } from '../../../model/common';
import { WebSocketMessageCallback } from '../../../internal/interfaces/websocket';
import { Response } from '../../../internal/interfaces/serializable';
export declare class CrossMarginPositionEvent implements Response<WsMessage> {
    /**
     * Debt ratio
     */
    debtRatio: number;
    /**
     * Total assets in BTC (interest included)
     */
    totalAsset: number;
    /**
     *
     */
    marginCoefficientTotalAsset: string;
    /**
     * Total debt in BTC (interest included)
     */
    totalDebt: string;
    /**
     * Asset list (interest included)
     */
    assetList: {
        [key: string]: CrossMarginPositionAssetListValue;
    };
    /**
     * Debt list (interest included)
     */
    debtList: {
        [key: string]: string;
    };
    /**
     *
     */
    timestamp: number;
    /**
     * Event type, **Only applicable to \"debt.ratio\" subject**
     */
    type: CrossMarginPositionEvent.TypeEnum;
    private constructor();
    /**
     * common response
     */
    commonResponse?: WsMessage;
    setCommonResponse(response: WsMessage): void;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): CrossMarginPositionEvent;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): CrossMarginPositionEvent;
}
export declare namespace CrossMarginPositionEvent {
    enum TypeEnum {
        /**
         * When the debt ratio exceeds the liquidation threshold and the position is frozen, the system will push this event.
         */
        FROZEN_FL,
        /**
         * When the liquidation is finished and the position returns to “EFFECTIVE” status, the system will push this event.
         */
        UNFROZEN_FL,
        /**
         * When the auto-borrow renewing is complete and the position returns to “EFFECTIVE” status, the system will push this event.
         */
        FROZEN_RENEW,
        /**
         * When the account reaches a negative balance, the system will push this event.
         */
        UNFROZEN_RENEW,
        /**
         * When the account reaches a negative balance, the system will push this event.
         */
        LIABILITY,
        /**
         * When all the liabilities are repaid and the position returns to “EFFECTIVE” status, the system will push this event.
         */
        UNLIABILITY
    }
}
export type CrossMarginPositionEventCallback = (topic: string, subject: string, data: CrossMarginPositionEvent) => void;
export declare class CrossMarginPositionEventCallbackWrapper implements WebSocketMessageCallback {
    private callback;
    constructor(callback: CrossMarginPositionEventCallback);
    onMessage(msg: WsMessage): void;
}
