import type { Client } from "../abstract/Client";
import type { Cluster } from "../abstract/Cluster";
import type { PickPartial } from "../internal/misc";
/**
 * Ping tool constructor options.
 */
export interface ToolPingOptions {
    cluster: Cluster<Client>;
    shard?: number;
    pingExecTimeMs?: number;
    pingPollMs?: number;
    pingIsWrite?: boolean;
}
/**
 * A tool which plays the role of Linux `ping` command, but for master() or
 * replica() Client of a Shard. Allows to verify that there is no downtime
 * happening when a PG node goes down or experiences a failover/switchover.
 */
export declare class ToolPing {
    /** Default values for the constructor options. */
    static readonly DEFAULT_OPTIONS: Required<PickPartial<ToolPingOptions>>;
    /** Options of this tool. */
    readonly options: Required<ToolPingOptions>;
    /**
     * Initializes the instance.
     */
    constructor(options: ToolPingOptions);
    /**
     * Runs an endless loop that pings a master() or replica() Client of the
     * passed Island. Yields the colored output line by line.
     */
    [Symbol.asyncIterator](): AsyncGenerator<string>;
}
//# sourceMappingURL=ToolPing.d.ts.map