///
import * as dgram from 'dgram';
import * as events from 'events';
import { AddressInfo } from 'net';
export declare abstract class SocketBase extends events.EventEmitter {
protected socket: dgram.Socket;
/**
* Start listen for advertisements.
*/
start(): Promise;
/**
* Stop listen for advertisements.
*/
stop(): Promise;
protected abstract onListening(): void;
protected abstract onMessage(messageBuffer: Buffer, remote: AddressInfo): void;
protected abstract bind(): Promise;
protected onError(error: Error): void;
}