@class NSMutableDictionary, NSURL, NPLocation, NSDate, NSObject, NSPNetworkAgent, NPWaldoLocationManager, NSDictionary, NPTuscanyEdge, NSString, NPKeyBag, NSArray, NSData, NSNumber, NWNetworkAgentRegistration, NSUUID; @protocol OS_dispatch_source, OS_dispatch_queue, NPWaldoDelegate; @interface NPWaldo : NSObject { NSDictionary *_currentNetworkCharacteristics; NSArray *_edges; NSArray *_allOnRamps; } @property (class, readonly) BOOL supportsSecureCoding; @property (retain) NSMutableDictionary *networkInformation; @property (retain) NSArray *allOnRamps; @property BOOL daypassRefreshInProgress; @property (readonly) NSArray *currentEdges; @property long long currentEdgeIndex; @property (readonly) NPTuscanyEdge *nextEdge; @property (readonly) NSArray *currentEdgeList; @property BOOL reprocessCancelled; @property unsigned int generation; @property (retain) NSObject *reprocessSamplingTimer; @property (retain) NWNetworkAgentRegistration *agentRegistration; @property (retain) NSUUID *configurationIdentifier; @property (readonly) NSObject *reprocessQueue; @property (readonly) id /* block */ latencyComparator; @property (retain) NSData *updateHash; @property BOOL reResolve; @property (readonly) NSString *identifier; @property (readonly) long long source; @property (copy) NSNumber *timestamp; @property (copy) NSNumber *version; @property (copy) NSString *dayPassHostname; @property (copy) NSNumber *dayPassHostnamePrependLabel; @property (copy) NSNumber *dayPassPort; @property (copy) NSNumber *dayPassRequestTimeout; @property (copy) NSString *dayPassLeafOID; @property (copy) NSNumber *dayPassRevocationFailClosed; @property (copy) NSNumber *dayPassExtendedValidation; @property (copy) NSNumber *dayPassEnableSessionTicket; @property (copy) NSArray *dayPassSoftExpiry; @property (copy) NSNumber *enableLatencyDerivation; @property (copy) NSNumber *latencyFactorA; @property (copy) NSNumber *latencyFactorB; @property (copy) NSNumber *latencyFactorX; @property (copy) NSNumber *edgeFairnessFactor; @property (copy) NSNumber *locationCheckInterval; @property (copy) NSNumber *locationTTL; @property (copy) NSNumber *locationToleranceDistance; @property (copy) NSNumber *viewSize; @property (copy) NSNumber *probePause; @property (copy) NSNumber *probeTFO; @property (copy) NSNumber *probeNoTFOCookie; @property (copy) NSNumber *probeTimeout; @property (copy) NSNumber *retryPause; @property (copy) NSNumber *signatureLimit; @property (copy) NSNumber *observedRTTSampleSize; @property (copy) NSNumber *reprocessSamplingInterval; @property (copy) NSNumber *reprocessSampleSize; @property (copy) NSNumber *connectionIdleTimeoutMaximum; @property (copy) NSString *tag; @property (copy) NSURL *telemetryURL; @property (copy) NSString *telemetryService; @property (copy) NSNumber *useGeohashFromServer; @property (copy) NSNumber *edgeSelectionEnabled; @property (copy) NSNumber *edgeSelectionAlpha; @property (copy) NSNumber *edgeSelectionWindowSize; @property (copy) NSNumber *enableIPv6; @property (copy) NSArray *edges; @property (copy) NSNumber *requireTFO; @property (copy) NSNumber *TFOLeeway; @property (readonly) BOOL isIPv6Enabled; @property (copy) NSNumber *edgesGeneration; @property (copy) NSNumber *usedEdgesGeneration; @property (readonly) NPTuscanyEdge *currentEdge; @property (readonly) unsigned long long edgeCount; @property (readonly) BOOL hasEdges; @property (readonly) long long dayPassFetchCount; @property (readonly) NSDate *currentNetworkLastUsed; @property (retain, nonatomic) NSString *hostname; @property (weak) id delegate; @property BOOL shouldSave; @property (readonly) NSDate *expirationDate; @property (readonly) unsigned long long probeSize; @property (retain, nonatomic) NPLocation *cachedLocation; @property (retain, nonatomic) NSDate *locationCheckTimestamp; @property (retain, nonatomic) NSDate *locationExpiration; @property (retain, nonatomic) NPWaldo *defaults; @property (retain, nonatomic) NSPNetworkAgent *agent; @property (retain, nonatomic) NPKeyBag *keybag; @property (retain, nonatomic) NPWaldoLocationManager *locationManager; @property BOOL reprocessPending; + (id)createEndpointFromHostList:(id)a0 defaultPortString:(id)a1 allowIPv6:(BOOL)a2; - (id)init; - (void)removeFromKeychain; - (void)encodeWithCoder:(id)a0; - (void)link; - (id)description; - (void).cxx_destruct; - (void)teardownNetworkAgent; - (id)initWithCoder:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (void)saveToKeychain; - (void)resolveWithCompletionHandler:(id /* block */)a0; - (id)onRampForIndex:(id)a0; - (long long)indexOfBestEdge; - (id)initFromKeychainWithIdentifier:(id)a0; - (void)rebuildLatencyMapAllSignatures:(BOOL)a0; - (void)reprocessWithCompletionHandler:(id /* block */)a0; - (void)ageOutLatencyMap; - (void)cancelProbes; - (void)cleanupStaleKeys; - (id)copyEdgeList:(id)a0; - (id)copyEdgeListRTTAverage:(id)a0 observed:(BOOL)a1 shortDescription:(BOOL)a2; - (id)copyEdgeSelectionTelemetry; - (id)copyLatencyInfoDictionary:(BOOL)a0 copyAll:(BOOL)a1; - (id)copyStateIncludeDistance:(BOOL)a0; - (id)createEdgeLatenciesToProbeWithEdgeIndex:(unsigned long long)a0 startSampleCount:(unsigned long long *)a1; - (id)currentNetworkInfo; - (id)edgeAtIndex:(long long)a0; - (id)edgeContainingOnRamp:(id)a0; - (void)establishTrustWithCompletionHandler:(id /* block */)a0; - (long long)getCurrentNetworkInterfaceType; - (void)getDayPassRTT; - (long long)getFallbackReasonForLatencies:(id)a0; - (void)handleUsageReport:(id)a0; - (void)incrementSessionCounters; - (id)initWithIdentifier:(id)a0 timestamp:(id)a1 fromDictionary:(id)a2 source:(long long)a3; - (void)initializeEdgeSelection; - (BOOL)isEndpointProbed:(id)a0 parameters:(struct networkParameters { BOOL x0; BOOL x1; } *)a1 latencies:(id)a2 checkSampleSize:(BOOL)a3 incompleteLatency:(id *)a4; - (BOOL)isLatenciesCompleteForNetwork:(id)a0; - (void)linkAllSignatures:(BOOL)a0; - (void)linkLatenciesAllSignatures:(BOOL)a0; - (void)loadObservedRTTSamples:(id)a0; - (void)logEdgeList:(id)a0 debug:(BOOL)a1 toStdout:(BOOL)a2; - (void)logLatencyInfoToStdout:(BOOL)a0 logAll:(BOOL)a1 logEdgeSelection:(BOOL)a2; - (void)merge:(id)a0 missingSettingsOnly:(BOOL)a1; - (void)mergeEdgeList:(id)a0 forNetworkSignature:(id)a1; - (void)pushKeybagToKernel; - (void)pushKeybagToKernelCanReuse:(BOOL)a0; - (void)pushKeybagToKernelUpdateGeneration:(BOOL)a0; - (void)refreshDayPassesWithCompletionHandler:(id /* block */)a0; - (void)removeDayPassesFromKernel; - (void)reprocessAdHocWithEdgeIndex:(unsigned long long)a0 completionHandler:(id /* block */)a1; - (void)reprocessEdgeAtIndex:(unsigned long long)a0 networkSignature:(id)a1 completionHandler:(id /* block */)a2; - (void)reprocessLatencies:(id)a0 sampleCount:(unsigned long long)a1 completionHandler:(id /* block */)a2; - (BOOL)reprocessWithNewRTT:(unsigned long long)a0 reProbe:(BOOL *)a1; - (void)resortEdgeListForCurrentNetworkSignature; - (void)setCurrentNetworkCharacteristics:(id)a0; - (BOOL)shouldFetchWaldo; - (BOOL)shouldPerformDayPassRefresh; - (void)startProbingEdges:(id)a0 atIndex:(unsigned long long)a1 doneCount:(unsigned long long)a2 sampleCount:(unsigned long long)a3 completionHandler:(id /* block */)a4; - (void)timestampNetworkSignature:(id)a0; - (void)updateEdgeSelection:(unsigned long long)a0; - (void)updateMetaDataNeedProbe:(BOOL)a0 refresh:(BOOL)a1 push:(BOOL)a2 minRTT:(unsigned long long)a3; - (void)updateNetworkAgentWithKeybag:(id)a0 networkInfo:(id)a1; - (BOOL)validateEdgeList:(id)a0; @end