/* tslint:disable */ /* eslint-disable */ export class WebNode { free(): void; [Symbol.dispose](): void; /** * The edge this node collects at. */ address(): string; /** * Collect whatever rotations wait at this edge into the ring. */ collect(): number; /** * The carrier delivered a cell for this node's edge. */ deliver(cell_text: string): void; /** * The jump: enter the chat of one lineage. The conversation's id and * title are floor-local (they ride no wire); the lineage is the identity. */ enter(lineage: string): void; /** * Found the group: the founding revision under a fresh epoch key. */ found(lineage: string): string; /** * The new-chat button: mint a lineage, found it, enter it. */ found_chat(): string; /** * Bring a member in: a fresh epoch, the invitation and rotations fanned. * The joiner enters the OPEN chat — the seat's one-lineage selection is * what keeps AddMember's founding-revision resolution single-valued. */ invite(sub: string, display: string): string; /** * A node for one member in one tab. `container` and `rail` are the two * elements the seat renders into — handles, so they may live inside a * shadow root. `send_cb(address, cellText)` is the carrier — whatever * moves a cell to the tab whose node answers to that address (and back * to this one, when the address is its own: a sender's self-record rides * the same wire). */ constructor(sub: string, display: string, container: Element, rail: Element, send_cb: Function, ring_text?: string | null); /** * Both seats name the conversation; the founder also founds. */ open_conversation(conversation_id: string, title: string, lineage: string): void; /** * The send button: the box judges its own words, the reading names what a * reply follows, and the comms domain's send fans the copies in this seat. */ post(text: string): void; /** * The screen's pull: the seat reads with the comms domain's own fold, the * MessageList resolves the shown names, and the screen repaints — always, * an empty reading told rather than skipped. */ refresh(): number; /** * The ring for the device store: RS-separated "key_id US material" * pairs. The JS side encrypts this under the login-derived key before * it touches IndexedDB — key material never rests in the clear. */ ring_text(): string; /** * The rail's pull: the sealed records at this edge, opened and folded by * the ChatList — the noise-drop rule is the projection's own — and offered * to the screen whole, told even when there are none. */ survey(): number; } /** * The floor's own version — shown in the page footer so "which floor am I * running" is answerable at a glance. Bump with every behaviour change. */ export function floor_version(): string; export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module; export interface InitOutput { readonly memory: WebAssembly.Memory; readonly __wbg_webnode_free: (a: number, b: number) => void; readonly floor_version: () => [number, number]; readonly webnode_address: (a: number) => [number, number]; readonly webnode_collect: (a: number) => [number, number, number]; readonly webnode_deliver: (a: number, b: number, c: number) => [number, number]; readonly webnode_enter: (a: number, b: number, c: number) => [number, number]; readonly webnode_found: (a: number, b: number, c: number) => [number, number, number, number]; readonly webnode_found_chat: (a: number) => [number, number, number, number]; readonly webnode_invite: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; readonly webnode_new: (a: number, b: number, c: number, d: number, e: any, f: any, g: any, h: number, i: number) => [number, number, number]; readonly webnode_open_conversation: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number]; readonly webnode_post: (a: number, b: number, c: number) => [number, number]; readonly webnode_refresh: (a: number) => [number, number, number]; readonly webnode_ring_text: (a: number) => [number, number]; readonly webnode_survey: (a: number) => [number, number, number]; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_exn_store: (a: number) => void; readonly __externref_table_alloc: () => number; readonly __wbindgen_externrefs: WebAssembly.Table; readonly __wbindgen_free: (a: number, b: number, c: number) => void; readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_start: () => void; } export type SyncInitInput = BufferSource | WebAssembly.Module; /** * Instantiates the given `module`, which can either be bytes or * a precompiled `WebAssembly.Module`. * * @param {{ module: SyncInitInput }} module - Passing `SyncInitInput` directly is deprecated. * * @returns {InitOutput} */ export function initSync(module: { module: SyncInitInput } | SyncInitInput): InitOutput; /** * If `module_or_path` is {RequestInfo} or {URL}, makes a request and * for everything else, calls `WebAssembly.instantiate` directly. * * @param {{ module_or_path: InitInput | Promise }} module_or_path - Passing `InitInput` directly is deprecated. * * @returns {Promise} */ export default function __wbg_init (module_or_path?: { module_or_path: InitInput | Promise } | InitInput | Promise): Promise;