import { Ephemeral, type Draw, type SigningKey } from './keys.ts'; export declare const SIZE = 1048576; export declare const HEAD = 32; export declare const SIGNATURE = 64; export declare const SEALED_HEAD: number; export declare const ZERO_EDGE: Uint8Array; export declare const ZERO_HEAD: Uint8Array; export declare const knockEdge: (shared: Uint8Array) => Promise; export declare const follow: (edge: Uint8Array, agreement: Uint8Array) => Promise; export declare const signBody: (text: Uint8Array, key: SigningKey) => Promise; export declare const splitBody: (body: Uint8Array) => { text: Uint8Array; signature: Uint8Array; } | null; export declare const checkBody: (pk: Uint8Array, body: { text: Uint8Array; signature: Uint8Array; }) => Promise; export declare const sealAsk: (lid: Ephemeral, padlock: Uint8Array, head: Uint8Array, edge: Uint8Array, body: Uint8Array, ciphertext?: Uint8Array) => Promise; export type OpenedHead = { lid: Uint8Array; agreement: Uint8Array; head: Uint8Array; rest: Uint8Array; }; export declare const openHead: (bytes: Uint8Array, agreement: Uint8Array) => Promise; export declare const splitKnock: (rest: Uint8Array) => { ciphertext: Uint8Array; sealedBody: Uint8Array; } | null; export declare const openBody: (opened: OpenedHead, edge: Uint8Array, sealedBody: Uint8Array) => Promise; export type SealedReply = { bytes: Uint8Array; agreement: Uint8Array; }; export type ReplyKey = { ephemeral: Ephemeral; agreement: Uint8Array; }; export declare const replyKey: (draw: Draw, lid: Uint8Array) => Promise; export declare const sealReply: (key: ReplyKey, body: Uint8Array) => Promise; export declare const openReply: (bytes: Uint8Array, lid: Ephemeral) => Promise;