UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

33 lines (32 loc) 1.5 kB
import { ContextData, ContextDataConstructorOptions } from './context-data'; import { EncryptionParameters } from './encryption-parameters'; import { ParmsIdType, ParmsIdTypeConstructorOptions } from './parms-id-type'; import { Instance, LoaderOptions } from './seal'; import { SecurityLevel } from './security-level'; export interface ContextDependencyOptions { readonly ParmsIdType: ParmsIdTypeConstructorOptions; readonly ContextData: ContextDataConstructorOptions; readonly SecurityLevel: SecurityLevel; } export interface ContextDependencies { ({ ParmsIdType, ContextData, SecurityLevel }: ContextDependencyOptions): ContextConstructorOptions; } export interface ContextConstructorOptions { (encryptionParams: EncryptionParameters, expandModChain?: boolean, securityLevel?: SecurityLevel): Context; } export interface Context { readonly instance: Instance; readonly unsafeInject: (instance: Instance) => void; readonly delete: () => void; readonly toHuman: () => string; readonly getContextData: (parmsId: ParmsIdType) => ContextData; readonly keyContextData: ContextData; readonly firstContextData: ContextData; readonly lastContextData: ContextData; readonly parametersSet: () => boolean; readonly keyParmsId: ParmsIdType; readonly firstParmsId: ParmsIdType; readonly lastParmsId: ParmsIdType; readonly usingKeyswitching: boolean; } export declare const ContextInit: ({ loader }: LoaderOptions) => ContextDependencies;