/**
 * Turso React Native SDK
 *
 * Main entry point for the SDK. Supports both local-only and sync databases.
 */
import { Database } from './Database';
import type { DatabaseOpts, TursoLoggerFn } from './types';
import { setFileSystemImpl } from './internal/ioProcessor';
export type { SQLiteValue, BindParams, Row, RunResult, DatabaseOpts, EncryptionOpts, SyncStats, TursoLog, TursoLoggerFn, TursoTracingLevel, TursoStatus, TursoType, } from './types';
export { Database } from './Database';
export { Statement } from './Statement';
export { setFileSystemImpl } from './internal/ioProcessor';
/**
 * Helper function to construct a database path in a writable directory.
 *
 * @param filename - Database filename (e.g., 'mydb.db')
 * @returns Absolute path to the database file
 *
 * @example
 * ```ts
 * import { getDbPath, connect } from '@tursodatabase/sync-react-native';
 *
 * const dbPath = getDbPath('mydb.db');
 * const db = await connect({ path: dbPath });
 * ```
 */
export declare function getDbPath(filename: string): string;
/**
 * Connect to a database asynchronously (matches JavaScript bindings API)
 *
 * This is the main entry point for the SDK, matching the API from
 * @tursodatabase/sync-native and @tursodatabase/database-native.
 *
 * **Path handling**: Relative paths are automatically placed in writable directories:
 * - Android: app's database directory (`/data/data/com.app/databases/`)
 * - iOS: app's documents directory
 *
 * Absolute paths and `:memory:` are used as-is.
 *
 * @param opts - Database options
 * @returns Promise resolving to Database instance
 *
 * @example Local database (relative path)
 * ```ts
 * import { connect } from '@tursodatabase/sync-react-native';
 *
 * // Relative path automatically placed in writable directory
 * const db = await connect({ path: 'local.db' });
 * await db.exec('CREATE TABLE users (id INTEGER, name TEXT)');
 * ```
 *
 * @example Using :memory: for in-memory database
 * ```ts
 * const db = await connect({ path: ':memory:' });
 * ```
 *
 * @example Sync database
 * ```ts
 * const db = await connect({
 *   path: 'replica.db',
 *   url: 'libsql://mydb.turso.io',
 *   authToken: 'token-here',
 * });
 * const users = await db.all('SELECT * FROM users');
 * await db.push();
 * await db.pull();
 * ```
 *
 * @example Using absolute path (advanced)
 * ```ts
 * import { connect, paths } from '@tursodatabase/sync-react-native';
 *
 * const db = await connect({ path: `${paths.database}/mydb.db` });
 * ```
 */
export declare function connect(opts: DatabaseOpts): Promise<Database>;
/**
 * Returns the Turso library version.
 */
export declare function version(): string;
/**
 * Configure Turso settings such as logging.
 * Should be called before any database operations.
 *
 * @param options - Configuration options
 * @example
 * ```ts
 * import { setup } from '@tursodatabase/sync-react-native';
 *
 * setup({
 *   logLevel: 'debug',
 *   logger: (log) => {
 *     console.log(`[${log.level}] ${log.target}: ${log.message}`);
 *   },
 * });
 * ```
 */
export declare function setup(options: {
    logLevel?: string;
    logger?: TursoLoggerFn;
}): void;
/**
 * Platform-specific writable directory path for database files.
 *
 * NOTE: With automatic path normalization, you typically don't need this.
 * Just pass relative paths like 'mydb.db' and they'll be placed in the correct directory.
 *
 * @example
 * ```ts
 * import { paths, connect } from '@tursodatabase/sync-react-native';
 *
 * const dbPath = `${paths.database}/mydb.db`;
 * const db = await connect({ path: dbPath });
 * ```
 */
export declare const paths: {
    /**
     * Writable directory for database files.
     * - iOS: App's Documents directory
     * - Android: App's database directory
     */
    readonly database: string;
};
declare const _default: {
    connect: typeof connect;
    version: typeof version;
    setup: typeof setup;
    setFileSystemImpl: typeof setFileSystemImpl;
    getDbPath: typeof getDbPath;
    paths: {
        /**
         * Writable directory for database files.
         * - iOS: App's Documents directory
         * - Android: App's database directory
         */
        readonly database: string;
    };
    Database: typeof Database;
};
export default _default;
//# sourceMappingURL=index.d.ts.map