/**
 * Memory Management Utilities
 * Handles TensorFlow.js tensor cleanup and memory optimization
 */
import * as tf from '@tensorflow/tfjs-core';
/** Memory manager for TensorFlow.js tensors */
export declare class TensorMemoryManager {
    private tensors;
    private disposed;
    /**
     * Track a tensor for automatic cleanup
     */
    track(tensor: tf.Tensor): void;
    /**
     * Untrack a tensor (manual cleanup)
     */
    untrack(tensor: tf.Tensor): void;
    /**
     * Dispose all tracked tensors
     */
    dispose(): void;
    /**
     * Get number of tracked tensors
     */
    getTensorCount(): number;
    /**
     * Check if manager is disposed
     */
    isDisposed(): boolean;
}
/**
 * Get or create global memory manager
 */
export declare function getGlobalMemoryManager(): TensorMemoryManager;
/**
 * Dispose global memory manager
 */
export declare function disposeGlobalMemoryManager(): void;
/**
 * Safe tensor disposal with error handling
 */
export declare function safeDispose(tensor: tf.Tensor | null | undefined): void;
/**
 * Safe disposal of multiple tensors
 */
export declare function safeDisposeMultiple(tensors: (tf.Tensor | null | undefined)[]): void;
/**
 * Memory usage information
 */
export interface MemoryInfo {
    numTensors: number;
    numBytes: number;
    numBytesInGPU: number;
}
/**
 * Get current memory usage
 */
export declare function getMemoryInfo(): Promise<MemoryInfo>;
/**
 * Log memory usage for debugging
 */
export declare function logMemoryUsage(label?: string): void;
//# sourceMappingURL=memory.d.ts.map