UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

30 lines (29 loc) 1.51 kB
import { Context } from './context'; import { Exception } from './exception'; import { MemoryPoolHandle } from './memory-pool-handle'; import { PlainText, PlainTextConstructorOptions } from './plain-text'; import { Instance, LoaderOptions } from './seal'; import { VectorConstructorOptions } from './vector'; export interface BatchEncoderDependencyOptions { readonly Exception: Exception; readonly MemoryPoolHandle: MemoryPoolHandle; readonly PlainText: PlainTextConstructorOptions; readonly Vector: VectorConstructorOptions; } export interface BatchEncoderDependencies { ({ Exception, MemoryPoolHandle, PlainText, Vector }: BatchEncoderDependencyOptions): BatchEncoderConstructorOptions; } export interface BatchEncoderConstructorOptions { (context: Context): BatchEncoder; } export type BatchEncoderTypes = Int32Array | Uint32Array | BigInt64Array | BigUint64Array; export interface BatchEncoder { readonly instance: Instance; readonly unsafeInject: (instance: Instance) => void; readonly delete: () => void; readonly encode: (array: BatchEncoderTypes, plainText?: PlainText) => PlainText | void; readonly decode: (plainText: PlainText, signed?: boolean, pool?: MemoryPoolHandle) => Int32Array | Uint32Array; readonly decodeBigInt: (plainText: PlainText, signed?: boolean, pool?: MemoryPoolHandle) => BigInt64Array | BigUint64Array; readonly slotCount: number; } export declare const BatchEncoderInit: ({ loader }: LoaderOptions) => BatchEncoderDependencies;