UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

31 lines (30 loc) 1.21 kB
import { ComprModeType } from './compr-mode-type'; import { Exception } from './exception'; import { Instance, LoaderOptions } from './seal'; import { VectorConstructorOptions } from './vector'; export interface ModulusDependencyOptions { readonly Exception: Exception; readonly ComprModeType: ComprModeType; readonly Vector: VectorConstructorOptions; } export interface ModulusDependencies { ({ Exception, ComprModeType, Vector }: ModulusDependencyOptions): ModulusConstructorOptions; } export interface ModulusConstructorOptions { (value: bigint): Modulus; } export interface Modulus { readonly instance: Instance; readonly inject: (instance: Instance) => void; readonly delete: () => void; readonly setValue: (value: bigint) => void; readonly value: bigint; readonly bitCount: number; readonly isZero: boolean; readonly isPrime: boolean; readonly save: (compression?: ComprModeType) => string; readonly saveArray: (compression?: ComprModeType) => Uint8Array; readonly load: (encoded: string) => void; readonly loadArray: (array: Uint8Array) => void; } export declare const ModulusInit: ({ loader }: LoaderOptions) => ModulusDependencies;