import { Pool, Client } from 'pg';
import { Event, Provider, ErrorCallback } from '../src/types';
export type Bookmark = {
    bookmark: string;
    position: number;
};
export type MigrateOptions = {
    client: Pool;
    events?: string;
    bookmarks?: string;
};
export type MigrateClientOptions = Omit<MigrateOptions, 'client'> & {
    client: Client;
};
export type Options = {
    limit?: number;
    onError?: ErrorCallback;
    client: Pool;
    bookmarks: string;
    events: string;
};
export declare function createProvider<E extends Event>(opts: Options): Provider<E>;
/** Migrate using a PG.Pool object */
export declare function migrate(opts: MigrateOptions): Promise<void>;
/** Migrate using a PG.Pool object */
export declare function migratePool(opts: MigrateOptions): Promise<void>;
/** Migrate using a PG.Client object */
export declare function migrateClient(opts: MigrateClientOptions): Promise<void>;
