UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

33 lines (32 loc) 1.49 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 type ContextDependencyOptions = { readonly ParmsIdType: ParmsIdTypeConstructorOptions; readonly ContextData: ContextDataConstructorOptions; readonly SecurityLevel: SecurityLevel; }; export type ContextDependencies = { ({ ParmsIdType, ContextData, SecurityLevel }: ContextDependencyOptions): ContextConstructorOptions; }; export type ContextConstructorOptions = { (encryptionParams: EncryptionParameters, expandModChain?: boolean, securityLevel?: SecurityLevel): Context; }; export type 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;