UNPKG

node-seal

Version:

Homomorphic Encryption for TypeScript or JavaScript using Microsoft SEAL

33 lines (32 loc) 1.39 kB
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;