/**
 * WASM Plugin Virtual Filesystem (VFS) Management
 *
 * Handles isolated storage for WASM plugins using WASI virtual filesystem.
 * Each plugin gets its own VFS root for secure, sandboxed file access.
 */
export interface PluginStoragePaths {
    pluginDataRoot: string;
    configFile: string;
    vfsRoot: string;
    vfsData: string;
    vfsConfig: string;
    vfsTmp: string;
}
/**
 * Get storage paths for a WASM plugin
 *
 * @param configPath - Server config directory path
 * @param pluginId - Plugin ID (e.g., "hello-assemblyscript") - used for config file to match regular plugins
 * @param packageName - NPM package name (e.g., "@signalk/hello-assemblyscript") - used for VFS directory
 */
export declare function getPluginStoragePaths(configPath: string, pluginId: string, packageName: string): PluginStoragePaths;
/**
 * Initialize VFS structure for a WASM plugin
 */
export declare function initializePluginVfs(paths: PluginStoragePaths): void;
/**
 * Read plugin configuration from server-managed config file
 */
export declare function readPluginConfig(configFile: string): any;
/**
 * Write plugin configuration to server-managed config file
 */
export declare function writePluginConfig(configFile: string, config: any): void;
/**
 * Migrate data from Node.js plugin format to WASM VFS format
 *
 * Copies files from legacy Node.js plugin data directory to VFS /data directory.
 * Legacy files are preserved for rollback.
 */
export declare function migrateFromNodeJs(legacyDataDir: string, vfsDataDir: string, filesToMigrate: string[]): void;
/**
 * Clean up VFS temporary files
 */
export declare function cleanupVfsTmp(vfsTmpDir: string): void;
/**
 * Get disk usage for a plugin's VFS
 */
export declare function getVfsDiskUsage(vfsRoot: string): {
    totalBytes: number;
    fileCount: number;
};
/**
 * Delete all VFS data for a plugin
 */
export declare function deletePluginVfs(paths: PluginStoragePaths): void;
//# sourceMappingURL=wasm-storage.d.ts.map