import { Fetcher, UpdateManager, Statement } from 'rdflib';
/**
 * Single instance of an rdflib store, caches all fetched data
 *
 * @ignore Can be used as an escape hatch for people who want to use rdflib directly, but if that
 *         is necessary, please consider submitting a feature request describing your use case
 *         on Tripledoc first.
 */
export declare function getStore(): import("rdflib").IndexedFormula;
/**
 * Single instance of an rdflib fetcher
 *
 * @ignore Can be used as an escape hatch for people who want to use rdflib directly, but if that
 *         is necessary, please consider submitting a feature request describing your use case
 *         on Tripledoc first.
 */
export declare function getFetcher(): Fetcher;
/**
 * Single instance of an rdflib updater
 *
 * @ignore Can be used as an escape hatch for people who want to use rdflib directly, but if that
 *         is necessary, please consider submitting a feature request describing your use case
 *         on Tripledoc first.
 */
export declare function getUpdater(): UpdateManager;
/**
 * Utility function that properly promisifies the RDFLib UpdateManager's update function
 *
 * @param statementsToDelete Statements currently present on the Pod that should be deleted.
 * @param statementsToAdd Statements not currently present on the Pod that should be added.
 * @returns Promise that resolves when the update was executed successfully, and rejects if not.
 * @ignore Should not be used by library consumers directly.
 */
export declare function update(statementsToDelete: Statement[], statementsToAdd: Statement[]): Promise<{}>;
