import { WsMessage } from '../../../model/common';
import { WebSocketMessageCallback } from '../../../internal/interfaces/websocket';
import { Response } from '../../../internal/interfaces/serializable';
export declare class InstrumentEvent implements Response<WsMessage> {
    /**
     * Granularity (predicted funding rate: 1-min granularity: 60000; Funding rate: 8-hours granularity: 28800000.)
     */
    granularity: number;
    /**
     *
     */
    fundingRate?: number;
    /**
     *
     */
    timestamp: number;
    /**
     *
     */
    markPrice?: number;
    /**
     *
     */
    indexPrice?: number;
    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): InstrumentEvent;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): InstrumentEvent;
}
export type InstrumentEventCallback = (topic: string, subject: string, data: InstrumentEvent) => void;
export declare class InstrumentEventCallbackWrapper implements WebSocketMessageCallback {
    private callback;
    constructor(callback: InstrumentEventCallback);
    onMessage(msg: WsMessage): void;
}
