/**
 * KawaDB接続クラス
 */
import { WasmLoader } from '../utils/WasmLoader';
import { Logger } from '../utils/Logger';
import { DatabaseConfig, ConnectionOptions, DatabaseStats } from '../types/DatabaseTypes';
export declare class Connection {
    private wasmLoader;
    private wasmModule;
    private kawaBrowserDB;
    private logger;
    private config;
    private connected;
    constructor(wasmLoader: WasmLoader, config: DatabaseConfig, logger: Logger);
    /**
     * データベースに接続
     */
    connect(options?: ConnectionOptions): Promise<void>;
    /**
     * データベースから切断
     */
    disconnect(): Promise<void>;
    /**
     * SQLクエリを実行
     */
    query(sql: string, params?: any[]): Promise<any>;
    /**
     * イベントを追加
     */
    addEvent(eventType: string, data: any): Promise<string>;
    /**
     * イベントを取得
     */
    getEvents(limit?: number): Promise<any[]>;
    /**
     * 統計情報を取得
     */
    getStats(): Promise<DatabaseStats>;
    /**
     * データベースを最適化
     */
    optimize(): Promise<void>;
    /**
     * データを同期
     */
    sync(): Promise<void>;
    /**
     * 全データをクリア
     */
    clearAll(): Promise<void>;
    /**
     * トランザクションを開始
     */
    beginTransaction(): Promise<void>;
    /**
     * トランザクションをコミット
     */
    commitTransaction(): Promise<void>;
    /**
     * トランザクションをロールバック
     */
    rollbackTransaction(): Promise<void>;
    /**
     * 接続状態を取得
     */
    isConnected(): boolean;
    /**
     * 生のKawaBrowserDBインスタンスを取得
     */
    getRawConnection(): any;
    /**
     * ブラウザDB設定を構成
     */
    private configureBrowserDB;
}
