node-seal
Version:
Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL
30 lines (29 loc) • 1.51 kB
TypeScript
import { Context } from './context';
import { Exception } from './exception';
import { MemoryPoolHandle } from './memory-pool-handle';
import { PlainText, PlainTextConstructorOptions } from './plain-text';
import { Instance, LoaderOptions } from './seal';
import { VectorConstructorOptions } from './vector';
export interface BatchEncoderDependencyOptions {
readonly Exception: Exception;
readonly MemoryPoolHandle: MemoryPoolHandle;
readonly PlainText: PlainTextConstructorOptions;
readonly Vector: VectorConstructorOptions;
}
export interface BatchEncoderDependencies {
({ Exception, MemoryPoolHandle, PlainText, Vector }: BatchEncoderDependencyOptions): BatchEncoderConstructorOptions;
}
export interface BatchEncoderConstructorOptions {
(context: Context): BatchEncoder;
}
export type BatchEncoderTypes = Int32Array | Uint32Array | BigInt64Array | BigUint64Array;
export interface BatchEncoder {
readonly instance: Instance;
readonly unsafeInject: (instance: Instance) => void;
readonly delete: () => void;
readonly encode: (array: BatchEncoderTypes, plainText?: PlainText) => PlainText | void;
readonly decode: (plainText: PlainText, signed?: boolean, pool?: MemoryPoolHandle) => Int32Array | Uint32Array;
readonly decodeBigInt: (plainText: PlainText, signed?: boolean, pool?: MemoryPoolHandle) => BigInt64Array | BigUint64Array;
readonly slotCount: number;
}
export declare const BatchEncoderInit: ({ loader }: LoaderOptions) => BatchEncoderDependencies;