import type { Operation } from "effection"; import type { CueEmission } from "../core/cues.js"; import type { CueSink } from "./cue-runtime.js"; import type { Poster } from "./forwarding.js"; import type { Hab, Habery } from "./habbing.js"; import type { MailboxDirector } from "./mailbox-director.js"; /** * Shared host-side responder for indirect and witness runtimes. * * KERIpy correspondence: * - this is the local analogue of `Respondant` for reply/replay/receipt-style * cues * - `BaseHab.processCuesIter()` interprets the cue; `Respondant` delivers the * resulting bytes * - mailbox-query `stream` cues stay with mailbox storage/query coordination * * Boundary rule: * - this class owns non-`stream` cue delivery * - `MailboxDirector` owns mailbox storage and `stream` cue correlation * - if a future change starts treating generic `reply` / `replay` / * `receipt`-family cues as local mailbox writes, that change is regressing * back toward the bug where mailbox code was incorrectly acting like * KERIpy's `Respondant` */ export declare class Respondant implements CueSink { readonly hby: Habery; readonly poster: Poster; readonly mailboxDirector: MailboxDirector; constructor(hby: Habery, { poster, mailboxDirector, }: { poster: Poster; mailboxDirector: MailboxDirector; }); /** Bind one default forwarding habitat for long-lived host sinks. */ forHab(hab?: Hab | null): CueSink; /** Default cue-sink entry point when no explicit habitat hint is supplied. */ send(emission: CueEmission): Operation; /** * Route one interpreted cue emission to mailbox query state or outbound * mailbox/direct delivery. */ sendWithHab(emission: CueEmission, hab?: Hab | null): Operation; } //# sourceMappingURL=respondant.d.ts.map