///
import { RemoteInfo } from 'dgram';
import { IDisposable } from 'dotup-ts-types';
import { EventEmitter } from 'events';
import { SsdpMessage } from '../Messages/SsdpMessage';
import { SsdpSearchMessage } from '../Messages/SsdpSearchMessage';
import { DgramSocket } from './DgramSocket';
import { SsdpSocketEvents } from './SsdpSocketEvents';
export declare class SsdpSocket extends EventEmitter implements IDisposable {
protected sockets: DgramSocket[];
readonly interfaceNames: string[];
constructor(...interfaceNames: string[]);
publish(message: string): void;
isConnected(): boolean;
initialize(): void;
private hasIp4;
private createSocket;
private onMessage;
on(event: SsdpSocketEvents.listening, listener: () => void): this;
on(event: SsdpSocketEvents.error, listener: (error: Error) => void): this;
on(event: SsdpSocketEvents.message, listener: (message: string) => void): this;
on(event: SsdpSocketEvents.notify, listener: (message: T) => void): this;
on(event: SsdpSocketEvents.msearch, listener: (message: T, rinfo: RemoteInfo) => void): this;
dispose(): void;
}