// #1619 — types for domain-txt-proof.js (the hosted worker imports it). export function txtProofEnabled(env: unknown): boolean; export function isPlainApex(apex: unknown): boolean; export function tombYieldsToTxtProof(tomb: { accountId: string | null } | null, proof: { ok: boolean } | null): boolean; export const TXT_PROOF_LABEL: string; export const TXT_PROOF_TTL_MS: number; export const TXT_PROOF_TIMEOUT_MS: number; export const TXT_PROOF_MAX_ANSWERS: number; export function txtProofRecordName(apex: string): string; export function txtProofKey(apex: string, accountId: string): string; export interface TxtProofStore { get(k: string): Promise; put(k: string, v: string): Promise; delete(k: string): Promise; } export function issueTxtProof(a: { env: unknown; store: TxtProofStore; apex: string; accountId: string; now?: number; randomBytes?: (n: number) => Uint8Array; generation?: string | null }): Promise<{ name: string; value: string; expiresAt: number }>; export function joinTxtData(data: unknown): string | null; export function dohResolveTxt(a: { fetchImpl: (url: string, init?: RequestInit) => Promise; name: string; endpoint?: string; timeoutMs?: number }): Promise; export function verifyTxtProof(a: { env: unknown; store: TxtProofStore; apex: string; accountId: string; resolveTxt: (name: string) => Promise; now?: number; generation?: string | null }): Promise<{ ok: true } | { ok: false; reason: "off" | "no_value" | "lookup_failed" | "no_match" }>; export function consumeTxtProof(a: { store: TxtProofStore; apex: string; accountId: string }): Promise; export function openTombWithTxtProof(a: { env: unknown; apex: string; host?: string; accountId: string; tomb: { accountId: string | null }; mayWrite?: boolean; store: TxtProofStore; resolveTxt: (name: string) => Promise; supersede: (a: { apex: string; host: string; fromAccountId: string; accountId: string }) => Promise<{ written: boolean }>; now?: number; randomBytes?: (n: number) => Uint8Array; }): Promise<{ proven: true; commit: () => Promise } | { proofNeeded: { name: string; value: string; expiresAt: string } } | { refused: true }>; /** #1619-b — the tombstone generation a proof value is bound to (holder + `at`). */ export function tombGeneration(tomb: { accountId: string | null; at?: string | null } | null): string | null;