import type { Quad9TransportResponse } from './quad9-transport.cjs'; interface WorkerdSocket { readonly readable: ReadableStream; readonly writable: WritableStream; readonly opened: Promise; readonly closed: Promise; close(): Promise; } type WorkerdConnect = (address: { hostname: string; port: number; } | string, options?: { secureTransport?: 'off' | 'on' | 'starttls'; allowHalfOpen?: boolean; }) => WorkerdSocket; /** * Cloudflare Workers transport for Quad9. * * Quad9 rejects HTTP/1.1 DoH, while Workers Fetch cannot require HTTP/2. * The Worker composition therefore sends the identical DNS wire message to * Quad9's authenticated DNS-over-TLS endpoint using the documented sockets * runtime API. The connector parameter is internal and exists for deterministic * transport tests; normal callers load `cloudflare:sockets` lazily. */ export declare function requestQuad9(baseUrl: string, query: Uint8Array, signal?: AbortSignal, connectSocket?: WorkerdConnect): Promise; export {};