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