/**
 * validates the env argument
 * @param {lmdb.Transaction|lmdb.RootDatabase} env - environment object used thigh level to interact with all data in an
 * environment
 */
export function validateEnv(env: lmdb.Transaction | lmdb.RootDatabase): void;
/**
 * converts raw data to it's string version
 * @param rawValue
 * @returns {Number|String|null}
 */
export function stringifyData(rawValue: any): number | string | null;
/**
 * takes a raw value and converts it to be written to LMDB. lmdb-store accepts primitives ('number', 'string', 'symbol', 'boolean', 'bigint', buffer) and array of primitives as keys.
 * if it is anything else we convert to string
 * @param {*} key - raw value which needs to be converted
 * @returns {*}
 */
export function convertKeyValueToWrite(key: any): any;
/**
 * A monotonic timestamp that is guaranteed to be higher than the last call to this function.
 * Will use decimal microseconds as necessary to differentiate from previous calls without too much drift.
 */
export function getNextMonotonicTime(): number;
/**
 * Return all the indexable values from an attribute, ready to be indexed
 */
export function getIndexedValues(value: any, indexNulls: any): any[];
import lmdb = require("lmdb");
