@class VGDataCoordinator, NSArray, NSString, NSMutableArray, VGVehicle; @protocol VGVirtualGaragePersisting, VGVirtualGarageDelegate; @interface VGVirtualGarage : NSObject { NSMutableArray *_vehicles; NSString *_selectedVehicleIdentifier; BOOL _isDataCoordinatorRunning; VGDataCoordinator *_dataCoordinator; id _persister; BOOL _finishedLoadingVehicles; NSMutableArray *_queuedGetGarageCompletionHandlers; } @property (class, readonly) BOOL supportsSecureCoding; @property (weak, nonatomic) id delegate; @property (readonly, nonatomic) NSArray *vehicles; @property (readonly, nonatomic) VGVehicle *selectedVehicle; @property (nonatomic) BOOL shouldAssumeFullCharge; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; - (void)valueChangedForGEOConfigKey:(struct { unsigned int x0; void *x1; })a0; - (void)_selectVehicleWithIdentifier:(id)a0; - (void)dealloc; - (void)_removeVehiclesWithUninstalledAppsIfNeeded; - (void)dataCoordinatorDidUpdateInstalledApps:(id)a0; - (void)encodeWithCoder:(id)a0; - (id)initWithGaragePersister:(id)a0; - (void)_forceUpdateWithVehicles:(id)a0; - (void)virtualGarageSetShouldUsePreferredNetworks:(BOOL)a0 forVehicle:(id)a1; - (void)dataCoordinator:(id)a0 didUpdateUnpairedVehicles:(id)a1; - (void)virtualGarageAddVehicle:(id)a0; - (void)_setShouldUsePreferredNetworks:(BOOL)a0 forVehicle:(id)a1; - (void)_endContinuousUpdates; - (void)virtualGarageSaveVehicle:(id)a0; - (void)virtualGarageSelectVehicle:(id)a0; - (BOOL)_persisterHasStaleStateForVehicle:(id)a0; - (void)dataCoordinator:(id)a0 wantsToUpdateVehicle:(id)a1 syncAcrossDevices:(BOOL)a2; - (void)virtualGarageGetListOfUnpairedVehiclesWithReply:(id /* block */)a0; - (void)virtualGarageStartContinuousUpdatesIfNeeded; - (void)_updateDataCoordinatorAvailability; - (void)_executeQueuedCompletionHandlersIfNeeded; - (void)virtualGarageSetAssumesFullCharge:(BOOL)a0; - (void)virtualGarageGetLatestStateOfVehicleWithIdentifier:(id)a0 syncAcrossDevices:(BOOL)a1 withReply:(id /* block */)a2; - (void)virtualGarageRemoveVehicle:(id)a0; - (void)virtualGarageOnboardVehicle:(id)a0; - (void).cxx_destruct; - (void)virtualGarageGetGarageWithReply:(id /* block */)a0; - (void)_addVehicle:(id)a0; - (id)_vehicleWithIdentifier:(id)a0; - (void)_startContinuousUpdatesIfNeeded; - (id)_garageCopy; - (void)_saveVehicle:(id)a0 syncAcrossDevices:(BOOL)a1; - (void)garagePersister:(id)a0 wantsToUpdateVehicles:(id)a1; - (void)virtualGarageForceFetchAllVehicles; - (id)initWithCoder:(id)a0; - (void)_removeVehicleWithIdentifier:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (void)_notifyObserversGarageDidUpdateVehicles; - (void)_onboardVehicle:(id)a0; - (void)_setDataCoordintorRunning:(BOOL)a0; - (void)_unpairVehicle:(id)a0; - (void)virtualGarageEndContinuousUpdates; @end