/// <reference types="bn.js" />
import { Keypair } from '@solana/web3.js';
import { BN } from '../isomorphic/anchor';
type Quote = {
    bidPrice: BN | null;
    askPrice: BN | null;
    bidBaseAssetAmount: BN | null;
    askBaseAssetAmount: BN | null;
    marketIndex: number;
    isOracleOffset?: boolean;
};
type WsMessage = {
    channel: string;
    nonce?: string;
    message?: string;
};
export declare class IndicativeQuotesSender {
    private endpoint;
    private keypair;
    private heartbeatTimeout;
    private sendQuotesInterval;
    private readonly heartbeatIntervalMs;
    private reconnectDelay;
    private ws;
    private connected;
    private quotes;
    constructor(endpoint: string, keypair: Keypair);
    generateChallengeResponse(nonce: string): string;
    handleAuthMessage(message: WsMessage): void;
    connect(): Promise<void>;
    private startHeartbeatTimer;
    setQuote(newQuotes: Quote | Quote[]): void;
    private reconnect;
}
export {};
//# sourceMappingURL=indicativeQuotesSender.d.ts.map