/**
 * WASM ローダー
 */
import { Logger } from './Logger';
export interface WasmModule {
    KawaBrowserDB: any;
    BrowserDBConfig: any;
    StorageType: any;
    WasmKsqlEngine: any;
    WasmKsqlResult: any;
    WasmContinuousQuery: any;
    WasmStreamingResult: any;
    init: () => Promise<void>;
    version: () => string;
    memory_usage: () => number;
}
export declare class WasmLoader {
    private wasmModule;
    private loaded;
    private loadPromise;
    private logger;
    constructor(logger: Logger);
    /**
     * WASMモジュールをロード
     */
    load(wasmPath?: string): Promise<void>;
    private doLoad;
    /**
     * Web環境でWASMをロード
     */
    private loadWebWasm;
    /**
     * スクリプトタグ経由でWASMをロード
     */
    private loadWebWasmViaScript;
    /**
     * Node.js環境でWASMをロード
     */
    private loadNodeWasm;
    /**
     * WASMモジュールを取得
     */
    getModule(): WasmModule;
    /**
     * ロード済みかどうか
     */
    isLoaded(): boolean;
    /**
     * WASMモジュールをアンロード
     */
    unload(): void;
    /**
     * メモリ使用量を取得
     */
    getMemoryUsage(): number;
    /**
     * バージョン情報を取得
     */
    getVersion(): string;
}
