/// <reference types="node" />
import { ILogger } from "@node-lightning/logger";
import { IWireMessage } from "../messages/IWireMessage";
import { IMessageSender } from "../Peer";
export declare enum GossipQueriesSyncState {
    Idle = 0,
    AwaitingChannelRange = 1,
    AwaitingChannels = 2,
    AwaitingMessages = 3,
    Complete = 4,
    Failed = 5
}
export declare class GossipQueriesSync {
    readonly chainHash: Buffer;
    readonly peer: IMessageSender;
    readonly logger: ILogger;
    private _state;
    private _error;
    private _rangeQuery;
    private _channelsQuery;
    private _syncWatcher;
    constructor(chainHash: Buffer, peer: IMessageSender, logger: ILogger);
    get state(): GossipQueriesSyncState;
    get error(): Error;
    queryRange(firstBlock?: number, numBlocks?: number): Promise<void>;
    handleWireMessage(msg: IWireMessage): void;
}
