UNPKG

facezk-core

Version:

ZKP-AI Proof of Humanity: Live Selfie Check with Biometric Template Extraction and Fuzzy Hashing

184 lines 4.54 kB
/** * FaceZK Core Utilities * Essential utilities for memory management and browser compatibility */ import * as tf from '@tensorflow/tfjs'; export declare const isBrowser: boolean; declare class MemoryManager { private tensors; private isEnabled; /** * Track a tensor for automatic cleanup */ track(tensor: tf.Tensor): void; /** * Untrack a tensor (when manually disposed) */ untrack(tensor: tf.Tensor): void; /** * Clean up all tracked tensors */ cleanup(): void; /** * Get memory usage statistics */ getStats(): { tracked: number; memory: number; }; /** * Enable/disable automatic memory management */ setEnabled(enabled: boolean): void; /** * Check if memory management is enabled */ isMemoryManagementEnabled(): boolean; } export declare const memoryManager: MemoryManager; export declare const getGlobalMemoryManager: () => MemoryManager; export declare const tfUtils: { /** * Safely dispose a tensor */ dispose(tensor: tf.Tensor | null | undefined): void; /** * Dispose multiple tensors */ disposeAll(tensors: (tf.Tensor | null | undefined)[]): void; /** * Get memory usage */ getMemoryUsage(): tf.MemoryInfo; /** * Clear all tensors */ clearMemory(): void; }; export declare const browserUtils: { /** * Check if WebGL is available */ isWebGLAvailable(): boolean; /** * Check if WebAssembly is available */ isWebAssemblyAvailable(): boolean; /** * Get available backends */ getAvailableBackends(): string[]; /** * Get recommended backend */ getRecommendedBackend(): string; }; export declare const validationUtils: { /** * Validate configuration */ validateConfig(config: any): { valid: boolean; errors: string[]; }; /** * Validate input */ validateInput(input: any): { valid: boolean; errors: string[]; }; }; export declare const performanceUtils: { /** * Measure execution time */ measureTime<T>(fn: () => T | Promise<T>): Promise<{ result: T; time: number; }>; /** * Debounce function */ debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void; /** * Throttle function */ throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void; }; declare const _default: { memoryManager: MemoryManager; getGlobalMemoryManager: () => MemoryManager; tfUtils: { /** * Safely dispose a tensor */ dispose(tensor: tf.Tensor | null | undefined): void; /** * Dispose multiple tensors */ disposeAll(tensors: (tf.Tensor | null | undefined)[]): void; /** * Get memory usage */ getMemoryUsage(): tf.MemoryInfo; /** * Clear all tensors */ clearMemory(): void; }; browserUtils: { /** * Check if WebGL is available */ isWebGLAvailable(): boolean; /** * Check if WebAssembly is available */ isWebAssemblyAvailable(): boolean; /** * Get available backends */ getAvailableBackends(): string[]; /** * Get recommended backend */ getRecommendedBackend(): string; }; validationUtils: { /** * Validate configuration */ validateConfig(config: any): { valid: boolean; errors: string[]; }; /** * Validate input */ validateInput(input: any): { valid: boolean; errors: string[]; }; }; performanceUtils: { /** * Measure execution time */ measureTime<T>(fn: () => T | Promise<T>): Promise<{ result: T; time: number; }>; /** * Debounce function */ debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void; /** * Throttle function */ throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void; }; isBrowser: boolean; }; export default _default; //# sourceMappingURL=utils.d.ts.map