///
import { EventEmitter } from 'events';
import { Device } from './Device';
/**
* Interface describing the supported events of Discovery.
*/
interface Events {
hello: Device;
goodbye: Device;
}
/**
* Class responsible for discovering Axis cameras on the network.
*/
export declare class Discovery implements EventEmitter {
private readonly eventEmitter;
private bonjour?;
private browser?;
/**
* Start listen for device advertisements on all network interface
* addresses.
*/
start(): void;
/**
* Stop listening for device advertisements.
*/
stop(): void;
/**
* Triggers a new search for devices on the network.
*/
search(): void;
/**
* Alias for on(eventName, listener).
*/
addListener(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Adds the listener function to the end of the listeners array for the event named eventName.
* No checks are made to see if the listener has already been added. Multiple calls passing the
* same combination of eventName and listener will result in the listener being added, and
* called, multiple times.
* @param eventName The name of the event.
* @param listener The callback function.
*/
on(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Adds a one-time listener function for the event named eventName. The next time eventName is
* triggered, this listener is removed and then invoked.
* @param eventName The name of the event.
* @param listener The callback function.
*/
once(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Alias for off(eventName, listener).
* @param eventName The name of the event.
* @param listener The callback function.
*/
removeListener(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Removes the specified listener from the listener array for the event named eventName.
* @param eventName The name of the event.
* @param listener The callback function.
*/
off(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Removes all listeners, or those of the specified eventName.
* @param eventName The name of the event.
*/
removeAllListeners(eventName?: E): this;
/**
* By default EventEmitters will print a warning if more than 10 listeners are added for a
* particular event. This is a useful default that helps finding memory leaks. The
* emitter.setMaxListeners() method allows the limit to be modified for this specific
* EventEmitter instance. The value can be set to Infinity (or 0) to indicate an unlimited
* number of listeners.
*/
setMaxListeners(n: number): this;
/**
* Returns the current max listener value for the EventEmitter which is either set by
* emitter.setMaxListeners(n) or defaults to EventEmitter.defaultMaxListeners.
*/
getMaxListeners(): number;
/**
* Returns a copy of the array of listeners for the event named eventName.
* @param eventName The name of the event.
*/
listeners(eventName: E): Function[];
/**
* Returns a copy of the array of listeners for the event named eventName, including any
* wrappers (such as those created by once()).
* @param eventName The name of the event.
*/
rawListeners(eventName: E): Function[];
/**
* Synchronously calls each of the listeners registered for the event named eventName, in the
* order they were registered, passing the supplied arguments to each.
* @param eventName The name of the event.
*/
emit(eventName: E, args: Events[E]): boolean;
/**
* Returns the number of listeners listening to the event named eventName.
* @param eventName The name of the event.
*/
listenerCount(eventName: E): number;
/**
* Adds the listener function to the beginning of the listeners array for the event named
* eventName. No checks are made to see if the listener has already been added. Multiple calls
* passing the same combination of eventName and listener will result in the listener being
* added, and called, multiple times.
* @param eventName The name of the event.
* @param listener The callback function.
*/
prependListener(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Adds a one-time listener function for the event named eventName to the beginning of the
* listeners array. The next time eventName is triggered, this listener is removed, and then
* invoked.
* @param eventName The name of the event.
* @param listener The callback function.
*/
prependOnceListener(eventName: E, listener: (arg: Events[E]) => void): this;
/**
* Returns an array listing the events for which the emitter has registered listeners. The
* values in the array are strings or Symbols.
*/
eventNames(): (string | symbol)[];
private onUp;
private onDown;
private setup;
private teardown;
}
export {};
//# sourceMappingURL=Discovery.d.ts.map