UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

51 lines (50 loc) 2.21 kB
import { ComprModeType } from './compr-mode-type'; import { Context } from './context'; import { Exception } from './exception'; import { MemoryPoolHandle } from './memory-pool-handle'; import { ParmsIdType, ParmsIdTypeConstructorOptions } from './parms-id-type'; import { Instance, LoaderOptions } from './seal'; import { VectorConstructorOptions } from './vector'; export interface PlainTextDependencyOptions { readonly Exception: Exception; readonly ComprModeType: ComprModeType; readonly ParmsIdType: ParmsIdTypeConstructorOptions; readonly MemoryPoolHandle: MemoryPoolHandle; readonly Vector: VectorConstructorOptions; } export interface PlainTextConstructorParams { capacity?: number; coeffCount?: number; pool?: MemoryPoolHandle; } export type PlainTextDependencies = (deps: PlainTextDependencyOptions) => PlainTextConstructorOptions; export type PlainTextConstructorOptions = (params?: PlainTextConstructorParams) => PlainText; export interface PlainText { readonly instance: Instance; readonly unsafeInject: (instance: Instance) => void; readonly delete: () => void; readonly reserve: (capacity: number) => void; readonly shrinkToFit: () => void; readonly release: () => void; readonly resize: (coeffCount: number) => void; readonly setZero: () => void; readonly isZero: boolean; readonly capacity: number; readonly coeffCount: number; readonly significantCoeffCount: number; readonly nonzeroCoeffCount: number; readonly toPolynomial: () => string; readonly isNttForm: boolean; readonly parmsId: ParmsIdType; readonly scale: number; readonly setScale: (scale: number) => void; readonly pool: MemoryPoolHandle; readonly save: (compression?: ComprModeType) => string; readonly saveArray: (compression?: ComprModeType) => Uint8Array; readonly load: (context: Context, encoded: string) => void; readonly loadArray: (context: Context, array: Uint8Array) => void; readonly copy: (plain: PlainText) => void; readonly clone: () => PlainText; readonly move: (plain: PlainText) => void; } export declare const PlainTextInit: ({ loader }: LoaderOptions) => PlainTextDependencies;