import { ILogger } from "@node-lightning/logger";
import { GossipQueriesSync } from "../gossip/GossipQueriesSync";
import { Peer } from "../Peer";
import { GossipQueriesReceiver } from "./GossipQueriesReceiver";
/**
 * Retains state for peers based on
 */
export declare class GossipPeer {
    readonly peer: Peer;
    syncTask: GossipQueriesSync;
    readonly key: string;
    protected logger: ILogger;
    protected receiver: GossipQueriesReceiver;
    constructor(logger: ILogger, peer: Peer);
    /**
     * Returns true if the gossip_queries feature has been negotiated with the
     * remote peer.
     */
    get gossipQueries(): boolean;
    /**
     * Enables the receipt of rumor mongered messages.
     */
    enableGossip(): void;
    /**
     * Disables the receipt of rumor mongered messages.
     */
    disableGossip(): void;
    /**
     * Performs Gossip synchronization using the negotiated strategy. Currently
     * only support gossip_queries
     * @param firstBlock
     * @param numBlocks
     */
    syncRange(firstBlock?: number, numBlocks?: number): Promise<boolean>;
}
