browser.d.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import KeyValue from './KeyValue';
  2. import { EventEmitter } from 'events';
  3. import Service from './service';
  4. export interface BrowserConfig {
  5. type: string;
  6. name?: string;
  7. protocol?: 'tcp' | 'udp';
  8. subtypes?: string[];
  9. txt?: KeyValue;
  10. }
  11. export type BrowserOnUp = (service: Service) => void;
  12. export interface BrowserEvents {
  13. up: [service: Service];
  14. down: [service: Service];
  15. 'txt-update': [newService: Service, existingService: Service];
  16. 'srv-update': [newService: Service, existingService: Service];
  17. }
  18. export declare class Browser extends EventEmitter<BrowserEvents> {
  19. private mdns;
  20. private onresponse;
  21. private serviceMap;
  22. private txt;
  23. private name?;
  24. private txtQuery;
  25. private wildcard;
  26. private _services;
  27. constructor(mdns: any, opts: BrowserConfig | BrowserOnUp | null, onup?: BrowserOnUp);
  28. start(): void;
  29. stop(): void;
  30. update(): void;
  31. expire(): void;
  32. get services(): Service[];
  33. private addService;
  34. private updateServiceSrv;
  35. private updateServiceTxt;
  36. private replaceService;
  37. private removeService;
  38. private goodbyes;
  39. private buildServicesFor;
  40. }
  41. export default Browser;