/**
 * Check if a value is a DohError
 *
 * @param {unknown} value
 * @returns {value is DohError}
 */
export function isDohError(value: unknown): value is DohError;
/**
 * Resolve a DNS query using DNS over HTTPS
 *
 * @see https://developers.google.com/speed/public-dns/docs/doh/json
 * @see https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/make-api-requests/dns-json/
 *
 * @template {string[]} [T=string[]]
 *
 * @param {string} query
 * @param {import("./types.js").RecordType} type
 * @param {import("./types.js").ResolveOptions} [options]
 * @returns {Promise<import("../types.js").MaybeResult<T, Errors>>}
 */
export function resolve<T extends string[] = string[]>(query: string, type: import("./types.js").RecordType, options?: import("./types.js").ResolveOptions): Promise<import("../types.js").MaybeResult<T, Errors>>;
export class DohError extends Error {
    /**
     * Check if a value is a DohError
     *
     * @param {unknown} value
     * @returns {value is DohError}
     */
    static is(value: unknown): value is DohError;
    /**
     *
     * @param {string} message
     * @param {ErrorOptions & {data: import('./types.js').DoHResponse}} options
     */
    constructor(message: string, options: ErrorOptions & {
        data: import("./types.js").DoHResponse;
    });
    /** @type {unknown} */
    cause: unknown;
    /** @type {import('./types.js').DoHResponse} */
    data: import("./types.js").DoHResponse;
    /** @type {boolean} */
    [symbol]: boolean;
}
export type Errors = import("../http.js").Errors | DohError | JsonError;
export type RequestErrors = import("../http.js").Errors;
declare const symbol: unique symbol;
import { JsonError } from '../http.js';
export { AbortError, HttpError, JsonError, NetworkError, RequestError, TimeoutError } from "../http.js";
//# sourceMappingURL=index.d.ts.map