import { HttpService } from '@nestjs/common';
import { AxiosResponse, AxiosRequestConfig } from 'axios';
import { HealthIndicator, HealthIndicatorResult } from '../';
/**
 * The DNSHealthIndicator contains health indicators
 * which are used for health checks related to HTTP requests
 * and DNS
 *
 * @publicApi
 * @module TerminusModule
 * @deprecated
 */
export declare class DNSHealthIndicator extends HealthIndicator {
    private readonly httpService;
    /**
     * Initializes the health indicator
     * @param httpService The HttpService provided by Nest
     */
    constructor(httpService: HttpService);
    /**
     * Executes a request with the given parameters
     * @param url The url of the health check
     * @param options The optional axios options of the request
     */
    private pingDNS;
    /**
     * Prepares and throw a HealthCheckError
     * @param key The key which will be used for the result object
     * @param error The thrown error
     *
     * @throws {HealthCheckError}
     */
    private generateHttpError;
    /**
     * Checks if the given url respons in the given timeout
     * and returns a result object corresponding to the result
     * @param key The key which will be used for the result object
     * @param url The url which should be request
     * @param options Optional axios options
     *
     * @throws {HealthCheckError} In case the health indicator failed
     *
     * @example
     * dnsHealthIndicator.pingCheck('google', 'https://google.com', { timeout: 800 })
     */
    pingCheck(key: string, url: string, options?: AxiosRequestConfig): Promise<HealthIndicatorResult>;
    responseCheck<T>(key: string, url: URL | string, callback: (response: AxiosResponse<T>) => boolean | Promise<boolean>, options?: AxiosRequestConfig): Promise<HealthIndicatorResult>;
}
