import { type Draw, type WardKey } from './keys.ts'; import type { Invitation } from './invitation.ts'; import { type Payload } from './payload.ts'; import type { Relations } from './relations.ts'; export declare const SPAN = 64; export type Choice = { readonly object: string; readonly seen: string | null; } | { readonly silence: true; }; export interface Behind { readonly zero: boolean; answer(heir: string | null, payload: Payload): Promise; } export type Judged = { bytes: Uint8Array; case: number; heard: boolean; }; export declare class Door { #private; readonly key: WardKey; readonly relations: Relations; readonly behind: Behind; readonly draw: Draw; constructor(key: WardKey, relations: Relations, behind: Behind, draw: Draw); invite(at?: readonly string[]): Promise<{ heir: string; invitation: Invitation; }>; remove(heir: string): boolean; arrive(bytes: Uint8Array): Promise; }