import { SQLExecutor } from '@arkade-os/sdk/repositories/sqlite';
import { m as SwapRepository, B as BoltzSwap, p as GetSwapsFilter } from '../../types-BKEkNZxK.js';
import '@arkade-os/sdk';

/**
 * SQLite-based implementation of SwapRepository.
 *
 * Uses the SQLExecutor interface so consumers can plug in any SQLite driver
 * (expo-sqlite, better-sqlite3, etc.).
 *
 * Tables are created lazily on first operation via `ensureInit()`.
 * The consumer owns the SQLExecutor lifecycle — `[Symbol.asyncDispose]` is a no-op.
 */
declare class SQLiteSwapRepository implements SwapRepository {
    private readonly executor;
    readonly version: 1;
    private initPromise;
    constructor(executor: SQLExecutor);
    private ensureInit;
    private init;
    [Symbol.asyncDispose](): Promise<void>;
    saveSwap<T extends BoltzSwap>(swap: T): Promise<void>;
    deleteSwap(id: string): Promise<void>;
    getAllSwaps<T extends BoltzSwap>(filter?: GetSwapsFilter): Promise<T[]>;
    clear(): Promise<void>;
}

export { SQLiteSwapRepository };
