facezk-core
Version:
ZKP-AI Proof of Humanity: Live Selfie Check with Biometric Template Extraction and Fuzzy Hashing
184 lines • 4.54 kB
TypeScript
/**
* 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