/// <reference types="node" />
import { Commitment, Connection } from '@solana/web3.js';
type SlothashSubscriberConfig = {
    resubTimeoutMs?: number;
    commitment?: Commitment;
};
export type Slothash = {
    slot: number;
    hash: string;
};
export declare class SlothashSubscriber {
    private connection;
    currentSlothash: Slothash;
    subscriptionId: number;
    commitment: Commitment;
    timeoutId?: NodeJS.Timeout;
    resubTimeoutMs?: number;
    isUnsubscribing: boolean;
    receivingData: boolean;
    constructor(connection: Connection, config?: SlothashSubscriberConfig);
    subscribe(): Promise<void>;
    private setTimeout;
    getSlothash(): Slothash;
    unsubscribe(onResub?: boolean): Promise<void>;
}
export {};
