import type { DatabaseClient } from './client.js';
export type BaseDatabaseConnectionInitOptions = {
    baseDbDir: string;
    databaseName: string;
    migrationsFolder: string;
    additionalFolder?: string;
    removeExisting?: boolean;
    runWithPragmaWalWriteOptimization?: boolean;
    sqldRemoteDatabaseUrl?: string;
    sqldRemoteDatabaseAuthToken?: string;
};
export type LocalDatabaseConnectionInitOptions = BaseDatabaseConnectionInitOptions;
export type RemoteDatabaseConnectionInitOptions = BaseDatabaseConnectionInitOptions & {
    syncUrl: string;
    authToken: string;
};
export type DatabaseConnectionOptions = {
    baseDbDir: string;
    removeExisting?: boolean;
    runWithPragmaWalWriteOptimization?: boolean;
    sqldRemoteDatabaseUrl?: string;
    sqldRemoteDatabaseAuthToken?: string;
    databaseType?: DatabaseType;
};
export type RepositoryInstanceOptions = DatabaseConnectionOptions;
export type ServiceInstanceOptions = RepositoryInstanceOptions;
export type DatabaseConnection = {
    client: DatabaseClient;
    path: string;
};
export type DatabaseType = 'local' | 'remote';
//# sourceMappingURL=types.d.ts.map