/**
 * Browser connection base interface
 * @category aepp wallet communication
 */
export default abstract class BrowserConnection {
    debug: boolean;
    protected constructor({ debug }: {
        debug?: boolean;
    });
    /**
     * Connect
     * @param onMessage - Message handler
     * @param onDisconnect - trigger when runtime connection in closed
     */
    connect(onMessage: (message: any, origin: string, source: any) => void, onDisconnect: () => void): void;
    /**
     * Disconnect
     */
    disconnect(): void;
    /**
     * Receive message
     */
    protected receiveMessage(message: any): void;
    /**
     * Send message
     */
    sendMessage(message: any): void;
    /**
     * Check if connected
     * @returns Is connected
     */
    abstract isConnected(): boolean;
}
