import tape = require('fresh-tape'); export type Command = (domain: string, options?: any) => Promise; export function getCommand(cmd: string[], signal: AbortSignal): Promise; export interface ServerOptions { udp: number; tcp: number; doh: number; } export function startServer(): Promise<{ serverOpts: ServerOptions close: () => Promise }>; export const tests: { [name: string]: { domain?: string dns: (domain: string) => { [domain: string]: string[] } run: (t: tape.Test & { dnslink(actual: any, expected: any): void }, cmd: Command, domain: string) => Promise targetDomain: string } }; export function runTests(cmd: Command, flags?: { [flag: string]: boolean }, filter?: { only?: string[], skip?: string[] }): typeof tape; export interface SetupEntry { data: string[]; type: number; ttl: number; } export const SETUP: { [domain: string]: { [rtype: number]: SetupEntry[], RCODE?: SetupEntry[] } };