node-seal
Version:
Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL
31 lines (30 loc) • 1.21 kB
TypeScript
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;