/**
 * WASM Resource Provider Support
 *
 * Handles resource provider registration and handler invocation for WASM plugins
 */
import { WasmResourceProvider, WasmPluginInstance } from '../types';
/**
 * Registered resource providers from WASM plugins
 * Key: pluginId:resourceType
 */
export declare const wasmResourceProviders: Map<string, WasmResourceProvider>;
/**
 * Call a WASM resource handler function
 * Handles both AssemblyScript and Rust plugins
 */
export declare function callWasmResourceHandler(pluginInstance: WasmPluginInstance, handlerName: string, requestJson: string): string | null;
/**
 * Update resource provider references with a newly loaded plugin instance
 */
export declare function updateResourceProviderInstance(pluginId: string, pluginInstance: WasmPluginInstance): void;
/**
 * Clean up resource provider registrations for a plugin
 * @param pluginId The plugin ID
 * @param app The Signal K app (optional, if provided will also unregister from ResourcesApi)
 */
export declare function cleanupResourceProviders(pluginId: string, app?: any): void;
/**
 * Create the sk_register_resource_provider host binding
 */
export declare function createResourceProviderBinding(pluginId: string, capabilities: {
    resourceProvider?: boolean;
}, app: any, readUtf8String: (ptr: number, len: number) => string): (typePtr: number, typeLen: number) => number;
//# sourceMappingURL=resource-provider.d.ts.map