import { Cloneable } from "./Cloneable"; import { DBPeer } from "../db/DBPeer"; export interface WS2PEndpoint { version: number; uuid: string; host: string; port: number; path: string; } export declare class PeerDTO implements Cloneable { version: number; currency: string; pubkey: string; blockstamp: string; endpoints: string[]; signature: string; status: string; statusTS: number; clone(): any; member: boolean; constructor(version: number, currency: string, pubkey: string, blockstamp: string, endpoints: string[], signature: string, status: string, statusTS: number, member?: boolean); get block(): string; blockNumber(): number; keyID(): string; getRawUnsigned(): string; getRaw(): string; getRawSigned(): string; json(): { version: number; currency: string; endpoints: string[]; status: string; block: string; signature: string; raw: string; pubkey: string; }; getBMA(): { dns?: string | undefined; ipv4?: string | undefined; ipv6?: string | undefined; port?: number | undefined; path?: string | undefined; }; getOnceWS2PEndpoint(canReachTorEp: boolean, canReachClearEp: boolean, uuidExcluded?: string[]): WS2PEndpoint | null; getAllWS2PEndpoints(canReachTorEp: boolean, canReachClearEp: boolean, myUUID: string): WS2PEndpoint[]; getFirstNonTorWS2P(): WS2PEndpoint | null; getDns(): string | null; getIPv4(): string | null; getIPv6(): string | null; getPort(): number | null; getPath(): string | null; getHostPreferDNS(): string; getURL(): string; hasValid4(bma: any): boolean; getNamedURL(): string; isReachable(): boolean; containsEndpoint(ep: string): boolean; containsAllEndpoints(endpoints: string[]): boolean; endpointSum(): string; getHash(): string; toDBPeer(): DBPeer; static blockNumber(blockstamp: string): number; static fromDBPeer(p: DBPeer): PeerDTO; static fromJSONObject(obj: any): PeerDTO; static endpoint2host(endpoint: string): string; static indexOfFirst(endpoints: string[], intoEndpoints: string[]): number; }