UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

40 lines (39 loc) 1.91 kB
import { ComprModeType } from './compr-mode-type'; import { Exception } from './exception'; import { Modulus, ModulusConstructorOptions } from './modulus'; import { ParmsIdType, ParmsIdTypeConstructorOptions } from './parms-id-type'; import { SchemeType } from './scheme-type'; import { Instance, LoaderOptions } from './seal'; import { Vector, VectorConstructorOptions } from './vector'; export type EncryptionParametersDependencyOptions = { readonly Exception: Exception; readonly ComprModeType: ComprModeType; readonly Modulus: ModulusConstructorOptions; readonly SchemeType: SchemeType; readonly ParmsIdType: ParmsIdTypeConstructorOptions; readonly Vector: VectorConstructorOptions; }; export type EncryptionParametersDependencies = { ({ Exception, ComprModeType, Modulus, SchemeType, Vector }: EncryptionParametersDependencyOptions): EncryptionParametersConstructorOptions; }; export type EncryptionParametersConstructorOptions = { (schemeType?: SchemeType): EncryptionParameters; }; export type EncryptionParameters = { readonly instance: Instance; readonly unsafeInject: (instance: Instance) => void; readonly delete: () => void; readonly setPolyModulusDegree: (polyModulusDegree: number) => void; readonly setCoeffModulus: (coeffModulus: Vector) => void; readonly setPlainModulus: (plainModulus: Modulus) => void; readonly scheme: SchemeType; readonly polyModulusDegree: number; readonly coeffModulus: BigUint64Array; readonly plainModulus: Modulus; readonly parmsId: ParmsIdType; readonly save: (compression?: ComprModeType) => string; readonly saveArray: (compression?: ComprModeType) => Uint8Array; readonly load: (encoded: string) => void; readonly loadArray: (array: Uint8Array) => void; }; export declare const EncryptionParametersInit: ({ loader }: LoaderOptions) => EncryptionParametersDependencies;