node-seal
Version:
Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL
31 lines (30 loc) • 1.2 kB
TypeScript
import { ComprModeType } from './compr-mode-type';
import { Exception } from './exception';
import { Instance, LoaderOptions } from './seal';
import { VectorConstructorOptions } from './vector';
export type ModulusDependencyOptions = {
readonly Exception: Exception;
readonly ComprModeType: ComprModeType;
readonly Vector: VectorConstructorOptions;
};
export type ModulusDependencies = {
({ Exception, ComprModeType, Vector }: ModulusDependencyOptions): ModulusConstructorOptions;
};
export type ModulusConstructorOptions = {
(value: bigint): Modulus;
};
export type 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;