export declare type CallbackID = string; export interface ZeroConfWatchRequest { type: string; domain: string; } export declare type ZeroConfUnwatchRequest = ZeroConfWatchRequest; export interface ZeroConfUnregisterRequest extends ZeroConfWatchRequest { name: string; } export interface ZeroConfRegisterRequest extends ZeroConfUnregisterRequest { port: number; props: { [key: string]: string; }; } export interface ZeroConfService { domain: string; type: string; name: string; port: number; hostname: string; ipv4Addresses: string[]; ipv6Addresses: string[]; txtRecord: { [key: string]: string; }; } export declare type ZeroConfWatchAction = 'added' | 'removed' | 'resolved'; export declare type ZeroConfWatchResult = { action: ZeroConfWatchAction; service: ZeroConfService; }; export declare type ZeroConfWatchCallback = (event: ZeroConfWatchResult) => void; export interface ZeroConfPlugin { getHostname(): Promise<{ hostname: string; }>; register(request: ZeroConfRegisterRequest): Promise; unregister(request: ZeroConfUnregisterRequest): Promise; stop(): Promise; watch(request: ZeroConfWatchRequest, callback?: ZeroConfWatchCallback): Promise; unwatch(request: ZeroConfUnwatchRequest): Promise; close(): Promise; }