import { SyncAdapter, Change } from '../types';
interface PostgresSyncConfig {
    host: string;
    port: number;
    database: string;
    user: string;
    password: string;
    tableName?: string;
    pollInterval?: number;
    clientId: string;
    ssl?: boolean | {
        rejectUnauthorized?: boolean;
    };
}
export declare class PostgresSync implements SyncAdapter {
    private pool;
    private tableName;
    private pollInterval;
    private clientId;
    private lastTimestamp;
    private receiveCallback;
    private pollTimer;
    private onReceiveCallback?;
    private onConnectedCallback?;
    private onDisconnectedCallback?;
    private isConnected;
    constructor(config: PostgresSyncConfig);
    connect(): Promise<void>;
    onDisconnected(callback: () => void): void;
    private startPolling;
    send(change: Change): Promise<boolean>;
    onReceive(callback: (change: Change) => void): void;
    onConnected(callback: () => void): void;
    close(): Promise<void>;
    disconnect(): Promise<void>;
    sendChange(change: Change): Promise<void>;
}
export {};
