///
import { EventEmitter } from 'events';
export interface ServiceConfig {
name: string;
type: string;
port: number;
protocol?: 'tcp' | 'udp';
host?: string;
fqdn?: string;
subtypes?: Array;
txt?: {
[key: string]: any;
};
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?: any;
subtypes?: Array;
addresses?: Array;
referer?: ServiceReferer;
probe: boolean;
published: boolean;
activated: boolean;
destroyed: boolean;
start?: any;
stop?: any;
private txtService;
constructor(config: ServiceConfig);
records(): Array;
private RecordPTR;
private RecordSRV;
private RecordTXT;
private RecordA;
private RecordAAAA;
}
export default Service;