import type { KeyPairModel } from '@owlmeans/basic-keys' import type { EnvelopeKind } from './consts' export interface Envelope { t: string msg: string sig?: string dt: number ttl: number | null } export interface EnvelopeModel { envelope: Envelope send: (msg: M, ttl?: number | null) => EnvelopeModel wrap: () => string tokenize: () => string message: (preserve?: boolean) => M type: () => string sign: (key: KeyPairModel, kind?: EnvelopeKind) => Promise verify: (key: KeyPairModel) => Promise }