import { TransportInterface } from '../communication-interface/TransportInterface';
import { DBFactory } from '../db/DBFactory';
import { PersistentTransport } from '../communication-interface/PersistentTransport';
export declare class PushTransport implements TransportInterface, PersistentTransport {
    private dbFactory;
    private _pushTransportDto?;
    private _initPromise;
    private _messageQueue;
    private _messageCallbacks;
    private constructor();
    requiresBootstrap(): boolean;
    private static instance;
    static getInstance(dbFactory: DBFactory): PushTransport;
    init(): Promise<void>;
    getOwnAddress(): Promise<string>;
    addContact(userId: string, address: any): Promise<void>;
    send(userIdTo: string, message: string): Promise<void>;
    addMessageListener(listener: (payload: string) => void): void | Promise<void>;
    private _flushMessages;
    getAllContacts(): Promise<string[]>;
}
//# sourceMappingURL=PushTransport.d.ts.map