node-seal
Version:
Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL
33 lines (32 loc) • 1.39 kB
TypeScript
import { ComprModeType } from './compr-mode-type';
import { Context } from './context';
import { Exception } from './exception';
import { Instance, LoaderOptions } from './seal';
import { VectorConstructorOptions } from './vector';
export interface GaloisKeysDependencyOptions {
readonly Exception: Exception;
readonly ComprModeType: ComprModeType;
readonly Vector: VectorConstructorOptions;
}
export interface GaloisKeysDependencies {
({ Exception, ComprModeType, Vector }: GaloisKeysDependencyOptions): GaloisKeysConstructorOptions;
}
export interface GaloisKeysConstructorOptions {
(): GaloisKeys;
}
export interface GaloisKeys {
readonly instance: Instance;
readonly inject: (instance: Instance) => void;
readonly delete: () => void;
readonly size: number;
readonly getIndex: (galoisElt: number) => number;
readonly hasKey: (galoisElt: number) => boolean;
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: (key: GaloisKeys) => void;
readonly clone: () => GaloisKeys;
readonly move: (key: GaloisKeys) => void;
}
export declare const GaloisKeysInit: ({ loader }: LoaderOptions) => GaloisKeysDependencies;