import * as neo from 'neo4j-driver';
import { ErrorCallback, Event, Provider } from '../src/types';
export type Bookmark = {
    bookmark: string;
    /** datetime.realtime() */
    position: string;
};
export type Options = {
    limit?: number;
    client: neo.Driver | Promise<neo.Driver>;
    onError?: ErrorCallback;
    /** Bookmarks label */
    bookmarks: string;
    /** Events label */
    events: string;
};
export type MigrateOptions = {
    client: neo.Driver | Promise<neo.Driver>;
    bookmarks: string;
    events: string;
};
export declare function createProvider<E extends Event>(opts: Options): Provider<E>;
export declare function migrate(opts: MigrateOptions): Promise<void>;
export declare function cypher<T = unknown>(client: neo.Driver | Promise<neo.Driver>, query: string, params?: {}): Promise<T[]>;
