///
import { IDisposable } from 'dotup-ts-types';
import { EventEmitter } from 'events';
import { SsdpMessage } from './Messages/SsdpMessage';
import { SsdpSocket } from './Sockets/SsdpSocket';
import { SsdpControlPointEvents } from './SsdpControlPointEvents';
import { SsdpItem } from './SsdpItem';
export declare class SsdpControlPoint extends EventEmitter implements IDisposable {
private readonly socket;
private readonly items;
timer: NodeJS.Timeout;
constructor(socket: SsdpSocket);
initialize(): void;
onNotify(msg: SsdpMessage): void;
removeItem(msg: SsdpMessage | SsdpItem): void;
addOrUpdateItem(msg: SsdpMessage): void;
parseUsn(msg: SsdpMessage): SsdpItem;
cleanUp(): void;
search(): void;
on(event: SsdpControlPointEvents.found, listener: (item: SsdpItem, message: T) => void): this;
on(event: SsdpControlPointEvents.lost, listener: (item: SsdpItem) => void): this;
dispose(): void;
}