/**
* Bonjour Service - Service Definition
*/
///
import { EventEmitter } from 'events';
import * as mDNS from 'multicast-dns';
export interface ServiceConfig extends Omit {
name: string;
type?: string;
port: number;
protocol?: 'tcp' | 'udp';
host?: string;
fqdn?: string;
subtypes?: Array;
txt?: Record;
probe?: boolean;
}
export interface ServiceRecord {
name: string;
type: 'PTR' | 'SRV' | 'TXT' | 'A' | 'AAAA';
ttl: number;
data: {
[key: string]: any;
} | string | any;
}
export interface ServiceReferer {
address: string;
family: 'IPv4' | 'IPv6';
port: number;
size: number;
}
export declare class Service extends EventEmitter {
name: string;
type: string;
protocol: 'tcp' | 'udp';
port: number;
host: string;
fqdn: string;
txt?: Record;
subtypes?: Array;
addresses?: Array;
referer?: ServiceReferer;
probe: boolean;
published: boolean;
activated: boolean;
destroyed: boolean;
_broadCastTimeout: NodeJS.Timer | undefined;
start?: any;
stop?: any;
constructor(config: ServiceConfig);
records(): ServiceRecord[];
}
export default Service;