UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

29 lines (28 loc) 1.34 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 CKKSEncoderDependencyOptions { readonly Exception: Exception; readonly MemoryPoolHandle: MemoryPoolHandle; readonly PlainText: PlainTextConstructorOptions; readonly Vector: VectorConstructorOptions; } export interface CKKSEncoderDependencies { ({ Exception, MemoryPoolHandle, PlainText, Vector }: CKKSEncoderDependencyOptions): CKKSEncoderConstructorOptions; } export interface CKKSEncoderConstructorOptions { (context: Context): CKKSEncoder; } export type CKKSEncoderTypes = Float64Array; export interface CKKSEncoder { readonly instance: Instance; readonly unsafeInject: (instance: Instance) => void; readonly delete: () => void; readonly encode: (array: CKKSEncoderTypes, scale: number, plainText?: PlainText, pool?: MemoryPoolHandle) => PlainText | void; readonly decode: (plainText: PlainText, pool?: MemoryPoolHandle) => CKKSEncoderTypes; readonly slotCount: number; } export declare const CKKSEncoderInit: ({ loader }: LoaderOptions) => CKKSEncoderDependencies;