Skip to content

Private API on macOS 14

Kei Kamikawa edited this page Oct 22, 2023 · 1 revision
Magic         = 64-bit MachO
Type          = DYLIB
CPU           = AARCH64, ARM64e caps: USR00
Commands      = 51 (Size: 7640)
Flags         = NoUndefs, DyldLink, TwoLevel, WeakDefines, BindsToWeak, NoReexportedDylibs, AppExtensionSafe, NlistOutofsyncWithDyldinfo, DylibInCache
000: LC_SEGMENT_64 sz=0x0018c000 off=0x0c26b000-0x0c3f7000 addr=0x1efd7f000-0x1eff0b000 r-x/r-x   __TEXT            
        sz=0x0012d454 off=0x0c26e83c-0x0c39bc90 addr=0x1efd8283c-0x1efeafc90               __TEXT.__text            PureInstructions|SomeInstructions 
        sz=0x00001b00 off=0x0c39bc90-0x0c39d790 addr=0x1efeafc90-0x1efeb1790               __TEXT.__auth_stubs      PureInstructions|SomeInstructions (SymbolStubs)
        sz=0x000048bc off=0x0c39d790-0x0c3a204c addr=0x1efeb1790-0x1efeb604c               __TEXT.__objc_methlist    
        sz=0x000054ac off=0x0c3a2050-0x0c3a74fc addr=0x1efeb6050-0x1efebb4fc               __TEXT.__const            
        sz=0x0000009f off=0x0c3a74fc-0x0c3a759b addr=0x1efebb4fc-0x1efebb59b               __TEXT.__swift5_typeref   
        sz=0x00000070 off=0x0c3a759c-0x0c3a760c addr=0x1efebb59c-0x1efebb60c               __TEXT.__swift5_capture   
        sz=0x00006ef4 off=0x0c3a7610-0x0c3ae504 addr=0x1efebb610-0x1efec2504               __TEXT.__cstring          (CstringLiterals)
        sz=0x00000034 off=0x0c3ae504-0x0c3ae538 addr=0x1efec2504-0x1efec2538               __TEXT.__constg_swiftt    
        sz=0x00000014 off=0x0c3ae538-0x0c3ae54c addr=0x1efec2538-0x1efec254c               __TEXT.__swift5_builtin   
        sz=0x00000008 off=0x0c3ae54c-0x0c3ae554 addr=0x1efec254c-0x1efec2554               __TEXT.__swift5_mpenum    
        sz=0x0000001a off=0x0c3ae554-0x0c3ae56e addr=0x1efec2554-0x1efec256e               __TEXT.__swift5_reflstr   
        sz=0x00000028 off=0x0c3ae570-0x0c3ae598 addr=0x1efec2570-0x1efec2598               __TEXT.__swift5_fieldmd   
        sz=0x00000004 off=0x0c3ae598-0x0c3ae59c addr=0x1efec2598-0x1efec259c               __TEXT.__swift5_types     
        sz=0x00017044 off=0x0c3ae59c-0x0c3c55e0 addr=0x1efec259c-0x1efed95e0               __TEXT.__gcc_except_tab   
        sz=0x000008ea off=0x0c3c55e0-0x0c3c5eca addr=0x1efed95e0-0x1efed9eca               __TEXT.__oslogstring      (CstringLiterals)
        sz=0x00001b8a off=0x0c3c5eca-0x0c3c7a54 addr=0x1efed9eca-0x1efedba54               __TEXT.__ustring          
        sz=0x0000008b off=0x0c3c7a54-0x0c3c7adf addr=0x1efedba54-0x1efedbadf               __TEXT.__dlopen_cstrs     (CstringLiterals)
        sz=0x00006a44 off=0x0c3c7ae0-0x0c3ce524 addr=0x1efedbae0-0x1efee2524               __TEXT.__unwind_info      
        sz=0x000000e8 off=0x0c3ce528-0x0c3ce610 addr=0x1efee2528-0x1efee2610               __TEXT.__eh_frame         
        sz=0x000016e0 off=0x0c3ce610-0x0c3cfcf0 addr=0x1efee2610-0x1efee3cf0               __TEXT.__objc_classname   (CstringLiterals)
        sz=0x00010db3 off=0x0c3cfcf0-0x0c3e0aa3 addr=0x1efee3cf0-0x1efef4aa3               __TEXT.__objc_methname    (CstringLiterals)
        sz=0x0001152e off=0x0c3e0aa3-0x0c3f1fd1 addr=0x1efef4aa3-0x1eff05fd1               __TEXT.__objc_methtype    (CstringLiterals)
        sz=0x00005020 off=0x0c3f1fe0-0x0c3f7000 addr=0x1eff05fe0-0x1eff0b000               __TEXT.__objc_stubs      PureInstructions|SomeInstructions 
001: LC_SEGMENT_64 sz=0x0000cdc0 off=0x4bac03a0-0x4bacd160 addr=0x2315d43a0-0x2315e1160 rw-/rw-   __DATA_CONST      
        sz=0x000002b0 off=0x4bac03a0-0x4bac0650 addr=0x2315d43a0-0x2315d4650         __DATA_CONST.__got              (NonLazySymbolPointers)
        sz=0x00000220 off=0x4bac0650-0x4bac0870 addr=0x2315d4650-0x2315d4870         __DATA_CONST.__const            
        sz=0x00000628 off=0x4bac0870-0x4bac0e98 addr=0x2315d4870-0x2315d4e98         __DATA_CONST.__objc_classlist  NoDeadStrip 
        sz=0x00000000 off=0x4bac0e98-0x4bac0e98 addr=0x2315d4e98-0x2315d4e98         __DATA_CONST.__objc_catlist    NoDeadStrip 
        sz=0x00000070 off=0x4bac0e98-0x4bac0f08 addr=0x2315d4e98-0x2315d4f08         __DATA_CONST.__objc_protolist   
        sz=0x00000008 off=0x4bac0f08-0x4bac0f10 addr=0x2315d4f08-0x2315d4f10         __DATA_CONST.__objc_imageinfo   
        sz=0x0000a448 off=0x4bac0f10-0x4bacb358 addr=0x2315d4f10-0x2315df358         __DATA_CONST.__objc_const       
        sz=0x00001c98 off=0x4bacb358-0x4baccff0 addr=0x2315df358-0x2315e0ff0         __DATA_CONST.__objc_selrefs    NoDeadStrip (LiteralPointers)
        sz=0x00000170 off=0x4baccff0-0x4bacd160 addr=0x2315e0ff0-0x2315e1160         __DATA_CONST.__objc_arraydata   
002: LC_SEGMENT_64 sz=0x0000e860 off=0x4bacd160-0x4badb9c0 addr=0x2315e1160-0x2315ef9c0 rw-/rw-   __AUTH_CONST      
        sz=0x00004b30 off=0x4bacd160-0x4bad1c90 addr=0x2315e1160-0x2315e5c90         __AUTH_CONST.__const            
        sz=0x00003eb8 off=0x4bad1c90-0x4bad5b48 addr=0x2315e5c90-0x2315e9b48         __AUTH_CONST.__objc_const       
        sz=0x00004c60 off=0x4bad5b48-0x4bada7a8 addr=0x2315e9b48-0x2315ee7a8         __AUTH_CONST.__cfstring         
        sz=0x00000370 off=0x4bada7a8-0x4badab18 addr=0x2315ee7a8-0x2315eeb18         __AUTH_CONST.__objc_dictobj     
        sz=0x000000f0 off=0x4badab18-0x4badac08 addr=0x2315eeb18-0x2315eec08         __AUTH_CONST.__objc_intobj      
        sz=0x00000010 off=0x4badac08-0x4badac18 addr=0x2315eec08-0x2315eec18         __AUTH_CONST.__objc_doubleobj   
        sz=0x00000018 off=0x4badac18-0x4badac30 addr=0x2315eec18-0x2315eec30         __AUTH_CONST.__auth_ptr         
        sz=0x00000d90 off=0x4badac30-0x4badb9c0 addr=0x2315eec30-0x2315ef9c0         __AUTH_CONST.__auth_got         (NonLazySymbolPointers)
003: LC_SEGMENT_64 sz=0x00003da0 off=0x49defb78-0x49df3918 addr=0x22f903b78-0x22f907918 rw-/rw-   __AUTH            
        sz=0x00003d90 off=0x49defb78-0x49df3908 addr=0x22f903b78-0x22f907908               __AUTH.__objc_data        
        sz=0x00000010 off=0x49df3908-0x49df3918 addr=0x22f907908-0x22f907918               __AUTH.__data             
004: LC_SEGMENT_64 sz=0x00001c60 off=0x487ee3c8-0x487f0028 addr=0x22e3023c8-0x22e304028 rw-/rw-   __DATA            
        sz=0x00000008 off=0x487ee3c8-0x487ee3d0 addr=0x22e3023c8-0x22e3023d0               __DATA.__got_weak         (NonLazySymbolPointers)
        sz=0x00000018 off=0x487ee3d0-0x487ee3e8 addr=0x22e3023d0-0x22e3023e8               __DATA.__objc_protorefs   
        sz=0x000006e0 off=0x487ee3e8-0x487eeac8 addr=0x22e3023e8-0x22e302ac8               __DATA.__objc_classrefs  NoDeadStrip 
        sz=0x000005d0 off=0x487eeac8-0x487ef098 addr=0x22e302ac8-0x22e303098               __DATA.__objc_superrefs  NoDeadStrip 
        sz=0x000007a4 off=0x487ef098-0x487ef83c addr=0x22e303098-0x22e30383c               __DATA.__objc_ivar        
        sz=0x000005a0 off=0x487ef840-0x487efde0 addr=0x22e303840-0x22e303de0               __DATA.__data             
        sz=0x00000009 off=0x00000000-0x00000009 addr=0x22e303de0-0x22e303de9               __DATA.__common           (Zerofill)
        sz=0x00000238 off=0x00000000-0x00000238 addr=0x22e303df0-0x22e304028               __DATA.__bss              (Zerofill)
005: LC_SEGMENT_64 sz=0x37670000 off=0x5011c000-0x8778c000 addr=0x237c30000-0x26f2a0000 r--/r--   __LINKEDIT        
006: LC_ID_DYLIB                 /System/Library/Frameworks/Virtualization.framework/Versions/A/Virtualization (162.3)
007: LC_DYLD_EXPORTS_TRIE        offset=0x05c929848  size=0x3098
008: LC_SYMTAB                   Symbol offset=0x65C4FB00, Num Syms: 9509, String offset=0x69666C40-0x8778921E
009: LC_DYSYMTAB                 
                     Local Syms: 8538 at 0
                  External Syms: 377 at 8538
                 Undefined Syms: 594 at 8915
                            TOC: No
                         Modtab: No
        External symtab Entries: None
        Indirect symtab Entries: 953 at 0x5960c684
         External Reloc Entries: None
            Local Reloc Entries: None
010: LC_UUID                     9E9D6B9F-C39A-36F4-BFD0-2AC0114988C1
011: LC_BUILD_VERSION            Platform: macOS, SDK: 14.0, Tool: ld (902.8)
012: LC_SOURCE_VERSION           162.3.0.0.0
013: LC_LOAD_DYLIB               /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics (1774.0.4)
014: LC_LOAD_WEAK_DYLIB          /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (2471.0)
015: LC_LOAD_WEAK_DYLIB          /System/Library/Frameworks/CoreMedia.framework/Versions/A/CoreMedia (1.0)
016: LC_LOAD_DYLIB               /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (275.0)
017: LC_LOAD_DYLIB               /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface (1.0)
018: LC_LOAD_DYLIB               /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore (1.11)
019: LC_LOAD_DYLIB               /System/Library/Frameworks/Security.framework/Versions/A/Security (61040.1.1)
020: LC_LOAD_WEAK_DYLIB          /System/Library/Frameworks/VideoToolbox.framework/Versions/A/VideoToolbox (1.0)
021: LC_LOAD_DYLIB               /System/Library/Frameworks/vmnet.framework/Versions/A/vmnet (1.0)
022: LC_LOAD_WEAK_DYLIB          /System/Library/Frameworks/ExtensionFoundation.framework/Versions/A/ExtensionFoundation (97.0)
023: LC_LOAD_DYLIB               /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (2048.1)
024: LC_LOAD_DYLIB               /usr/lib/libobjc.A.dylib (228.0)
025: LC_LOAD_DYLIB               /usr/lib/libc++.1.dylib (1600.151)
026: LC_LOAD_DYLIB               /usr/lib/libSystem.B.dylib (1336.0)
027: LC_LOAD_DYLIB               /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate (4.0)
028: LC_LOAD_WEAK_DYLIB          /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (2048.1)
029: LC_LOAD_DYLIB               /System/Library/Frameworks/Hypervisor.framework/Versions/A/Hypervisor (1.0)
030: LC_LOAD_DYLIB               /System/Library/Frameworks/Network.framework/Versions/A/Network (1.0)
031: LC_LOAD_DYLIB               /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration (1296.0.1)
032: LC_LOAD_DYLIB               /System/Library/PrivateFrameworks/DiskImages2.framework/Versions/A/DiskImages2 (272.0)
033: LC_LOAD_DYLIB               /System/Library/PrivateFrameworks/SoftLinking.framework/Versions/A/SoftLinking (47.0)
034: LC_LOAD_DYLIB               /usr/lib/libMobileGestalt.dylib (1.0)
035: LC_LOAD_DYLIB               /usr/lib/libz.1.dylib (1.2.12)
036: LC_LOAD_DYLIB               /usr/lib/swift/libswiftCore.dylib (5.9)
037: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftCoreFoundation.dylib (120.100)
038: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftCoreImage.dylib (2.0)
039: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftDarwin.dylib (0.0)
040: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftDispatch.dylib (34.0.2)
041: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftIOKit.dylib (1.0)
042: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftMetal.dylib (341.16.1)
043: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftOSLog.dylib (4.0)
044: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftObjectiveC.dylib (8.0)
045: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftQuartzCore.dylib (3.0)
046: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftUniformTypeIdentifiers.dylib (790.0)
047: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftXPC.dylib (29.0.2)
048: LC_LOAD_WEAK_DYLIB          /usr/lib/swift/libswiftos.dylib (1040.0)
049: LC_FUNCTION_STARTS          offset=0x059fc82f8  size=0x1678
050: LC_DATA_IN_CODE             offset=0x5a48f0f0-0x5a48f0f0 size=    0 entries=0


Objective-C
===========
Flags = DyldCategoriesOptimized, OptimizedByDyld, SignedClassRO, HasCategoryClassProperties
Swift = Swift 5 or later

@protocol CALayerDelegate <NSObject>
@optional
/* instance methods */
-[CALayerDelegate actionForLayer:forKey:];
-[CALayerDelegate displayLayer:];
-[CALayerDelegate drawLayer:inContext:];
-[CALayerDelegate layerWillDraw:];
-[CALayerDelegate layoutSublayersOfLayer:];
@end

@protocol NSCopying 
/* instance methods */
-[NSCopying copyWithZone:];
@end

@protocol NSObject 
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;
/* instance methods */
-[NSObject release];
-[NSObject isProxy];
-[NSObject autorelease];
-[NSObject class];
-[NSObject conformsToProtocol:];
-[NSObject description];
-[NSObject hash];
-[NSObject isEqual:];
-[NSObject isKindOfClass:];
-[NSObject isMemberOfClass:];
-[NSObject performSelector:];
-[NSObject performSelector:withObject:];
-[NSObject performSelector:withObject:withObject:];
-[NSObject respondsToSelector:];
-[NSObject retain];
-[NSObject retainCount];
-[NSObject self];
-[NSObject superclass];
-[NSObject zone];
@optional
/* instance methods */
-[NSObject debugDescription];
@end

@protocol NSPasteboardItemDataProvider <NSObject>
/* instance methods */
-[NSPasteboardItemDataProvider pasteboard:item:provideDataForType:];
@optional
/* instance methods */
-[NSPasteboardItemDataProvider pasteboardFinishedWithDataProvider:];
@end

@protocol NSXPCListenerDelegate <NSObject>
@optional
/* instance methods */
-[NSXPCListenerDelegate listener:shouldAcceptNewConnection:];
@end

@protocol VZGraphicsDisplayObserver <NSObject>
@optional
/* instance methods */
-[VZGraphicsDisplayObserver displayDidBeginReconfiguration:];
-[VZGraphicsDisplayObserver displayDidEndReconfiguration:];
@end

@protocol VZGuestAgent 
@end

@protocol VZVirtioConsoleDeviceDelegate <NSObject>
@optional
/* instance methods */
-[VZVirtioConsoleDeviceDelegate consoleDevice:didClosePort:];
-[VZVirtioConsoleDeviceDelegate consoleDevice:didOpenPort:];
@end

@protocol _VZCustomMMIODeviceHost 
/* instance methods */
-[_VZCustomMMIODeviceHost pulseIRQ:];
-[_VZCustomMMIODeviceHost setIRQ:value:];
@end

@protocol _VZCustomMMIODeviceInterface 
/* instance methods */
-[_VZCustomMMIODeviceInterface initDevice:mmioLength:writeSynchronously:RAMRegions:];
-[_VZCustomMMIODeviceInterface mmioRead:accessLength:reply:];
-[_VZCustomMMIODeviceInterface mmioWrite:accessLength:data:];
-[_VZCustomMMIODeviceInterface mmioWrite:accessLength:data:reply:];
-[_VZCustomMMIODeviceInterface pauseDevice:];
-[_VZCustomMMIODeviceInterface resetDevice:];
-[_VZCustomMMIODeviceInterface resumeDevice:];
-[_VZCustomMMIODeviceInterface startDevice:];
-[_VZCustomMMIODeviceInterface stopDevice:];
-[_VZCustomMMIODeviceInterface updateRAMRegions:reply:];
@end

@protocol _VZFramebufferObserver <NSObject>
/* instance methods */
-[_VZFramebufferObserver framebuffer:didUpdateCursor:];
-[_VZFramebufferObserver framebuffer:didUpdateFrame:];
-[_VZFramebufferObserver framebuffer:didUpdateGraphicsOrientation:];
@end

@protocol _VZMacBatterySourceObserver <NSObject>
/* instance methods */
-[_VZMacBatterySourceObserver batterySource:didUpdateCharge:];
-[_VZMacBatterySourceObserver batterySource:didUpdateConnectivity:];
@end

@protocol _VZVirtualMachineConfigurationEncodable <NSObject>
/* instance methods */
-[_VZVirtualMachineConfigurationEncodable encodeWithEncoder:];
@end

@protocol _VZVirtualMachineConfigurationResourceProvider <NSObject>
/* instance methods */
-[_VZVirtualMachineConfigurationResourceProvider _localFileSystemResources];
@end

@interface VZAudioDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */ // +size   offset
  q _role;                 // +0x8    0x8
}

@property (Tq,S_setRole:) _role;
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>={__impl<VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Virtio>={Virtio={vector<VzCore::VirtualMachineConfiguration::AudioDevices::Stream, std::allocator<VzCore::VirtualMachineConfiguration::AudioDevices::Stream>>=^{Stream}^{Stream}{__compressed_pair<VzCore::VirtualMachineConfiguration::AudioDevices::Stream *, std::allocator<VzCore::VirtualMachineConfiguration::AudioDevices::Stream>>=^{Stream}}}{optional<VzCore::VirtualMachineConfiguration::AudioDevices::Role>=(?=ci)B}}}(__union<std::__variant_detail::_Trait::_Available, 1UL>=))I}}@)B},R) _audioDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZAudioDeviceConfiguration copyWithZone:];
-[VZAudioDeviceConfiguration _role];
-[VZAudioDeviceConfiguration _init];
-[VZAudioDeviceConfiguration _audioDevice];
-[VZAudioDeviceConfiguration _setRole:];
-[VZAudioDeviceConfiguration _makeAudioDeviceForVirtualMachine:audioDeviceIndex:];
-[VZAudioDeviceConfiguration encodeWithEncoder:];
@end

@interface VZAudioInputStreamSource : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={__impl<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={Host=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL>=))I}}@)B},R) _attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZAudioInputStreamSource _init];
-[VZAudioInputStreamSource _attachment];
-[VZAudioInputStreamSource encodeWithEncoder:];
@end

@interface VZAudioOutputStreamSink : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={__impl<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={Host=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL>=))I}}@)B},R) _attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZAudioOutputStreamSink _init];
-[VZAudioOutputStreamSink _attachment];
-[VZAudioOutputStreamSink encodeWithEncoder:];
@end

@interface VZBootLoader : NSObject<_VZVirtualMachineConfigurationEncodable, _VZVirtualMachineConfigurationResourceProvider, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZBootLoader copyWithZone:];
-[VZBootLoader _init];
-[VZBootLoader validate];
-[VZBootLoader _bootLoaderForConfiguration:];
-[VZBootLoader _localFileSystemResources];
-[VZBootLoader encodeWithEncoder:];
@end

@interface VZBridgedNetworkDeviceAttachment : VZNetworkDeviceAttachment {
  /* instance variables */                 // +size   offset
  B _macNatEnabled;                        // +0x1    0x8
  @"VZBridgedNetworkInterface" _interface; // +0x8    0x10
}

@property (TB,S_setMacNatEnabled:) _macNatEnabled;
@property (T@"VZBridgedNetworkInterface",R,V_interface) interface;

/* instance methods */
-[VZBridgedNetworkDeviceAttachment .cxx_destruct];
-[VZBridgedNetworkDeviceAttachment initWithInterface:];
-[VZBridgedNetworkDeviceAttachment _attachment];
-[VZBridgedNetworkDeviceAttachment interface];
-[VZBridgedNetworkDeviceAttachment _macNatEnabled];
-[VZBridgedNetworkDeviceAttachment _setMacNatEnabled:];
-[VZBridgedNetworkDeviceAttachment encodeWithEncoder:];
@end

@interface VZBridgedNetworkInterface : NSObject {
  /* instance variables */           // +size   offset
  @"NSString" _identifier;           // +0x8    0x8
  @"NSString" _localizedDisplayName; // +0x8    0x10
}

@property (T@"NSString",R,C,V_identifier) identifier;
@property (T@"NSString",R,C,V_localizedDisplayName) localizedDisplayName;

/* class methods */
+[VZBridgedNetworkInterface networkInterfaces];
+[VZBridgedNetworkInterface _interfaceWithIdentifier:error:];

/* instance methods */
-[VZBridgedNetworkInterface debugDescription];
-[VZBridgedNetworkInterface description];
-[VZBridgedNetworkInterface .cxx_destruct];
-[VZBridgedNetworkInterface identifier];
-[VZBridgedNetworkInterface localizedDisplayName];
@end

@interface VZCapsLockIndicatorController : NSObject {
  /* instance variables */                                                                     // +size   offset
  @"_VZKeyboard" _keyboard;                                                                    // +0x8    0x8
  B _savedCapsLockState;                                                                       // +0x1    0x10
  {IoObjectHolder<unsigned int, &IOConnectRelease>="_object"I} _hidEventSystemHandle;          // +0x4    0x14
  @"<NSObject>" _activity;                                                                     // +0x8    0x18
  @"<NSObject>" _terminationObserver;                                                          // +0x8    0x20
  {CfPtr<__IOHIDEventSystemClient *>="_ptr"^{__IOHIDEventSystemClient}} _hidEventSystemClient; // +0x8    0x28
}

/* instance methods */
-[VZCapsLockIndicatorController init];
-[VZCapsLockIndicatorController .cxx_destruct];
-[VZCapsLockIndicatorController .cxx_construct];
-[VZCapsLockIndicatorController observeValueForKeyPath:ofObject:change:context:];
@end

@interface VZConsoleDevice : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  Q _consoleDeviceIndex;               // +0x8    0x10
}

/* instance methods */
-[VZConsoleDevice .cxx_destruct];
-[VZConsoleDevice initWithVirtualMachine:consoleDeviceIndex:configuration:];
@end

@interface VZConsoleDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (T{Expected<VzCore::VirtualMachineConfiguration::ConsoleDevice, NSError *>=(storage<VzCore::VirtualMachineConfiguration::ConsoleDevice, NSError *>=c{ConsoleDevice=iI{unordered_map<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port, std::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::pair<const unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>>>={__hash_table<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, std::__unordered_map_hasher<unsigned int, std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, std::hash<unsigned int>, std::equal_to<unsigned int>>, std::__unordered_map_equal<unsigned int, std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, std::equal_to<unsigned int>, std::hash<unsigned int>>, std::allocator<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>>>={unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> *>>>={__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> *>>>=^^v{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> *>>={__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *> *>>=Q}}}}{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *>>>={__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, void *> *>=^v}}{__compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned int, std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, std::hash<unsigned int>, std::equal_to<unsigned int>>>=Q}{__compressed_pair<float, std::__unordered_map_equal<unsigned int, std::__hash_value_type<unsigned int, VzCore::VirtualMachineConfiguration::ConsoleDevice::Port>, std::equal_to<unsigned int>, std::hash<unsigned int>>>=f}}}}@)B},R) _consoleDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZConsoleDeviceConfiguration copyWithZone:];
-[VZConsoleDeviceConfiguration _init];
-[VZConsoleDeviceConfiguration validateWithError:];
-[VZConsoleDeviceConfiguration _consoleDevice];
-[VZConsoleDeviceConfiguration encodeWithEncoder:];
-[VZConsoleDeviceConfiguration makeConsoleDeviceForVirtualMachine:consoleDeviceIndex:];
@end

@interface VZConsolePortConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */               // +size   offset
  @"VZSerialPortAttachment" _attachment; // +0x8    0x8
}

@property (T@"VZSerialPortAttachment",&,V_attachment) attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZConsolePortConfiguration copyWithZone:];
-[VZConsolePortConfiguration .cxx_destruct];
-[VZConsolePortConfiguration _init];
-[VZConsolePortConfiguration attachment];
-[VZConsolePortConfiguration setAttachment:];
-[VZConsolePortConfiguration encodeWithEncoder:];
@end

@interface VZDirectoryShare : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>, NSError *>=(storage<std::variant<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>, NSError *>=c{variant<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>={__impl<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<0UL, VzCore::Hardware::DirectoryShares::Single>={Single={SharedDirectory={FileDescriptor=i}BQ}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<1UL, VzCore::Hardware::DirectoryShares::Multiple>={Multiple={unordered_map<std::string, VzCore::Hardware::SharedDirectory, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<const std::string, VzCore::Hardware::SharedDirectory>>>={__hash_table<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::__unordered_map_hasher<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::hash<std::string>, std::equal_to<std::string>>, std::__unordered_map_equal<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::equal_to<std::string>, std::hash<std::string>>, std::allocator<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>>>={unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>>={__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>>=^^v{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>={__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>=Q}}}}{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *>>>={__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *>=^v}}{__compressed_pair<unsigned long, std::__unordered_map_hasher<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::hash<std::string>, std::equal_to<std::string>>>=Q}{__compressed_pair<float, std::__unordered_map_equal<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::equal_to<std::string>, std::hash<std::string>>>=f}}}}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<2UL, VzCore::Hardware::DirectoryShares::Rosetta>={Rosetta={SharedDirectory={FileDescriptor=i}BQ}{optional<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions>=(?=c{CachingOptions={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}B})B}}}(__union<std::__variant_detail::_Trait::_Available, 3UL>=))))I}}@)B},R) _share;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZDirectoryShare _init];
-[VZDirectoryShare _share];
-[VZDirectoryShare encodeWithEncoder:];
@end

@interface VZDirectorySharingDevice : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  Q _directorySharingDeviceIndex;      // +0x8    0x10
}

/* instance methods */
-[VZDirectorySharingDevice .cxx_destruct];
-[VZDirectorySharingDevice _initWithVirtualMachine:directorySharingDeviceIndex:];
@end

@interface VZDirectorySharingDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>={__impl<VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::DirectorySharingDevices::VirtioFileSystem>={VirtioFileSystem={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}{optional<std::variant<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>>=(?=c{variant<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>={__impl<VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::Hardware::DirectoryShares::Single, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<0UL, VzCore::Hardware::DirectoryShares::Single>={Single={SharedDirectory={FileDescriptor=i}BQ}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::Hardware::DirectoryShares::Multiple, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<1UL, VzCore::Hardware::DirectoryShares::Multiple>={Multiple={unordered_map<std::string, VzCore::Hardware::SharedDirectory, std::hash<std::string>, std::equal_to<std::string>, std::allocator<std::pair<const std::string, VzCore::Hardware::SharedDirectory>>>={__hash_table<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::__unordered_map_hasher<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::hash<std::string>, std::equal_to<std::string>>, std::__unordered_map_equal<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::equal_to<std::string>, std::hash<std::string>>, std::allocator<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>>>={unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>>={__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>>=^^v{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>={__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *> *>>=Q}}}}{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *>>>={__hash_node_base<std::__hash_node<std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, void *> *>=^v}}{__compressed_pair<unsigned long, std::__unordered_map_hasher<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::hash<std::string>, std::equal_to<std::string>>>=Q}{__compressed_pair<float, std::__unordered_map_equal<std::string, std::__hash_value_type<std::string, VzCore::Hardware::SharedDirectory>, std::equal_to<std::string>, std::hash<std::string>>>=f}}}}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::Hardware::DirectoryShares::Rosetta>=c{__alt<2UL, VzCore::Hardware::DirectoryShares::Rosetta>={Rosetta={SharedDirectory={FileDescriptor=i}BQ}{optional<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions>=(?=c{CachingOptions={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}B})B}}}(__union<std::__variant_detail::_Trait::_Available, 3UL>=))))I}})B}}}(__union<std::__variant_detail::_Trait::_Available, 1UL>=))I}}@)B},R) _directorySharingDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZDirectorySharingDeviceConfiguration copyWithZone:];
-[VZDirectorySharingDeviceConfiguration _init];
-[VZDirectorySharingDeviceConfiguration _directorySharingDevice];
-[VZDirectorySharingDeviceConfiguration _makeDirectorySharingDeviceForVirtualMachine:directorySharingDeviceIndex:];
-[VZDirectorySharingDeviceConfiguration encodeWithEncoder:];
@end

@interface VZDiskBlockDeviceStorageDeviceAttachment : VZStorageDeviceAttachment {
  /* instance variables */     // +size   offset
  @"NSURL" _url;               // +0x8    0x8
  B _readOnly;                 // +0x1    0x10
  @"NSFileHandle" _fileHandle; // +0x8    0x18
  q _synchronizationMode;      // +0x8    0x20
}

@property (T@"NSURL",R) _url;
@property (T@"NSFileHandle",R,V_fileHandle) fileHandle;
@property (TB,R,GisReadOnly,V_readOnly) readOnly;
@property (Tq,R,V_synchronizationMode) synchronizationMode;

/* instance methods */
-[VZDiskBlockDeviceStorageDeviceAttachment .cxx_destruct];
-[VZDiskBlockDeviceStorageDeviceAttachment _url];
-[VZDiskBlockDeviceStorageDeviceAttachment fileHandle];
-[VZDiskBlockDeviceStorageDeviceAttachment isReadOnly];
-[VZDiskBlockDeviceStorageDeviceAttachment _getAttachmentWithQueue:completionHandler:];
-[VZDiskBlockDeviceStorageDeviceAttachment _initWithURL:readOnly:synchronizationMode:error:];
-[VZDiskBlockDeviceStorageDeviceAttachment _localFileSystemResources];
-[VZDiskBlockDeviceStorageDeviceAttachment encodeWithEncoder:];
-[VZDiskBlockDeviceStorageDeviceAttachment initWithFileHandle:readOnly:synchronizationMode:error:];
-[VZDiskBlockDeviceStorageDeviceAttachment synchronizationMode];
@end

@interface VZDiskImageStorageDeviceAttachment : VZStorageDeviceAttachment {
  /* instance variables */    // +size   offset
  @"_VZDiskImage" _diskImage; // +0x8    0x8
}

@property (T@"NSURL",R,C) URL;
@property (TB,R,GisReadOnly) readOnly;
@property (Tq,R) cachingMode;
@property (Tq,R) synchronizationMode;

/* class methods */
+[VZDiskImageStorageDeviceAttachment _diskImageStorageDeviceAttachmentWithDiskImage:];

/* instance methods */
-[VZDiskImageStorageDeviceAttachment .cxx_destruct];
-[VZDiskImageStorageDeviceAttachment URL];
-[VZDiskImageStorageDeviceAttachment isReadOnly];
-[VZDiskImageStorageDeviceAttachment initWithURL:readOnly:error:];
-[VZDiskImageStorageDeviceAttachment _getAttachmentWithQueue:completionHandler:];
-[VZDiskImageStorageDeviceAttachment _localFileSystemResources];
-[VZDiskImageStorageDeviceAttachment cachingMode];
-[VZDiskImageStorageDeviceAttachment encodeWithEncoder:];
-[VZDiskImageStorageDeviceAttachment initWithURL:readOnly:cachingMode:synchronizationMode:error:];
-[VZDiskImageStorageDeviceAttachment synchronizationMode];
@end

@interface VZEFIBootLoader : VZBootLoader {
  /* instance variables */              // +size   offset
  @"NSURL" _ROMImageURL;                // +0x8    0x8
  @"VZEFIVariableStore" _variableStore; // +0x8    0x10
}

@property (T@"NSURL",C,S_setROMImageURL:) _ROMImageURL;
@property (T@"VZEFIVariableStore",&,V_variableStore) variableStore;

/* instance methods */
-[VZEFIBootLoader copyWithZone:];
-[VZEFIBootLoader init];
-[VZEFIBootLoader .cxx_destruct];
-[VZEFIBootLoader validate];
-[VZEFIBootLoader _ROMImageURL];
-[VZEFIBootLoader _bootLoaderForConfiguration:];
-[VZEFIBootLoader _localFileSystemResources];
-[VZEFIBootLoader _setROMImageURL:];
-[VZEFIBootLoader encodeWithEncoder:];
-[VZEFIBootLoader setVariableStore:];
-[VZEFIBootLoader variableStore];
@end

@interface VZEFIVariableStore : NSObject {
  /* instance variables */ // +size   offset
  @"NSURL" _URL;           // +0x8    0x8
}

@property (T@"NSURL",R,C,V_URL) URL;

/* instance methods */
-[VZEFIVariableStore .cxx_destruct];
-[VZEFIVariableStore initWithURL:];
-[VZEFIVariableStore URL];
-[VZEFIVariableStore initCreatingVariableStoreAtURL:options:error:];
@end

@interface VZEntropyDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (Ti,R) _entropyDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZEntropyDeviceConfiguration copyWithZone:];
-[VZEntropyDeviceConfiguration _init];
-[VZEntropyDeviceConfiguration _entropyDevice];
-[VZEntropyDeviceConfiguration encodeWithEncoder:];
@end

@interface VZFileHandleNetworkDeviceAttachment : VZNetworkDeviceAttachment {
  /* instance variables */     // +size   offset
  @"NSFileHandle" _fileHandle; // +0x8    0x8
  q _maximumTransmissionUnit;  // +0x8    0x10
}

@property (T@"NSFileHandle",R,V_fileHandle) fileHandle;
@property (Tq,V_maximumTransmissionUnit) maximumTransmissionUnit;

/* instance methods */
-[VZFileHandleNetworkDeviceAttachment .cxx_destruct];
-[VZFileHandleNetworkDeviceAttachment fileHandle];
-[VZFileHandleNetworkDeviceAttachment _attachment];
-[VZFileHandleNetworkDeviceAttachment maximumTransmissionUnit];
-[VZFileHandleNetworkDeviceAttachment setMaximumTransmissionUnit:];
-[VZFileHandleNetworkDeviceAttachment initWithFileHandle:];
@end

@interface VZFileHandleSerialPortAttachment : VZSerialPortAttachment {
  /* instance variables */               // +size   offset
  @"NSFileHandle" _fileHandleForReading; // +0x8    0x8
  @"NSFileHandle" _fileHandleForWriting; // +0x8    0x10
}

@property (T@"NSFileHandle",R,V_fileHandleForReading) fileHandleForReading;
@property (T@"NSFileHandle",R,V_fileHandleForWriting) fileHandleForWriting;

/* instance methods */
-[VZFileHandleSerialPortAttachment .cxx_destruct];
-[VZFileHandleSerialPortAttachment fileHandleForReading];
-[VZFileHandleSerialPortAttachment fileHandleForWriting];
-[VZFileHandleSerialPortAttachment _attachment];
-[VZFileHandleSerialPortAttachment encodeWithEncoder:];
-[VZFileHandleSerialPortAttachment initWithFileHandleForReading:fileHandleForWriting:];
@end

@interface VZFileSerialPortAttachment : VZSerialPortAttachment {
  /* instance variables */                 // +size   offset
  {FileDescriptor="_fd"i} _fileDescriptor; // +0x4    0x8
  B _append;                               // +0x1    0xc
  @"NSURL" _URL;                           // +0x8    0x10
}

@property (T@"NSURL",R,C,V_URL) URL;
@property (TB,R,V_append) append;

/* instance methods */
-[VZFileSerialPortAttachment .cxx_destruct];
-[VZFileSerialPortAttachment .cxx_construct];
-[VZFileSerialPortAttachment URL];
-[VZFileSerialPortAttachment _attachment];
-[VZFileSerialPortAttachment append];
-[VZFileSerialPortAttachment encodeWithEncoder:];
-[VZFileSerialPortAttachment initWithURL:append:error:];
@end

@interface VZGenericMachineIdentifier : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */   // +size   offset
  {Uuid="_uuid"[16C]} _uuid; // +0x10   0x8
}

@property (T@"NSData",R,C) dataRepresentation;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZGenericMachineIdentifier copyWithZone:];
-[VZGenericMachineIdentifier hash];
-[VZGenericMachineIdentifier init];
-[VZGenericMachineIdentifier isEqual:];
-[VZGenericMachineIdentifier dataRepresentation];
-[VZGenericMachineIdentifier .cxx_construct];
-[VZGenericMachineIdentifier initWithDataRepresentation:];
-[VZGenericMachineIdentifier encodeWithEncoder:];
@end

@interface VZGenericPlatformConfiguration : VZPlatformConfiguration {
  /* instance variables */                                                                                       // +size   offset
  @"NSString" _guestType;                                                                                        // +0x8    0x8
  @"VZGenericMachineIdentifier" _machineIdentifier;                                                              // +0x8    0x10
  {optional<bool>=""(?="__null_state_"c"__val_"B)"__engaged_"B} _performanceMonitoringUnitEmulationEnabledValue; // +0x2    0x18
}

@property (T@"NSString",C,S_setGuestType:) _guestType;
@property (TB,S_setPerformanceMonitoringUnitEmulationEnabled:) _performanceMonitoringUnitEmulationEnabled;
@property (T@"VZGenericMachineIdentifier",C,V_machineIdentifier) machineIdentifier;

/* instance methods */
-[VZGenericPlatformConfiguration copyWithZone:];
-[VZGenericPlatformConfiguration init];
-[VZGenericPlatformConfiguration .cxx_destruct];
-[VZGenericPlatformConfiguration .cxx_construct];
-[VZGenericPlatformConfiguration _platform];
-[VZGenericPlatformConfiguration validate];
-[VZGenericPlatformConfiguration _guestType];
-[VZGenericPlatformConfiguration _performanceMonitoringUnitEmulationEnabled];
-[VZGenericPlatformConfiguration _setGuestType:];
-[VZGenericPlatformConfiguration _setPerformanceMonitoringUnitEmulationEnabled:];
-[VZGenericPlatformConfiguration encodeWithEncoder:];
-[VZGenericPlatformConfiguration machineIdentifier];
-[VZGenericPlatformConfiguration setMachineIdentifier:];
@end

@interface VZGraphicsDevice : NSObject {
  /* instance variables */ // +size   offset
  @"NSArray" _displays;    // +0x8    0x8
}

@property (T@"NSArray",R,C,V_displays) displays;

/* instance methods */
-[VZGraphicsDevice .cxx_destruct];
-[VZGraphicsDevice displays];
-[VZGraphicsDevice _initWithDisplays:];
@end

@interface VZGraphicsDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (T{optional<std::variant<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>>=(?=c{variant<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>={__impl<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics>={ParavirtualizedGraphics=BB{vector<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics::Display, std::allocator<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics::Display>>=^{Display}^{Display}{__compressed_pair<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics::Display *, std::allocator<VzCore::VirtualMachineConfiguration::GraphicsDevices::ParavirtualizedGraphics::Display>>=^{Display}}}i}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::LinearFramebuffer>={LinearFramebuffer={Size<unsigned int>=II}I{Handle=*Q*Q}}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>=c{__alt<2UL, VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio>={Virtio={vector<VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio::Scanout, std::allocator<VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio::Scanout>>=^{Scanout}^{Scanout}{__compressed_pair<VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio::Scanout *, std::allocator<VzCore::VirtualMachineConfiguration::GraphicsDevices::Virtio::Scanout>>=^{Scanout}}}i}}(__union<std::__variant_detail::_Trait::_Available, 3UL>=))))I}})B},R) _graphicsDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZGraphicsDeviceConfiguration copyWithZone:];
-[VZGraphicsDeviceConfiguration _init];
-[VZGraphicsDeviceConfiguration validateWithError:];
-[VZGraphicsDeviceConfiguration _graphicsDevice];
-[VZGraphicsDeviceConfiguration encodeWithEncoder:];
-[VZGraphicsDeviceConfiguration makeGraphicsDeviceForVirtualMachine:graphicsDeviceIndex:];
@end

@interface VZGraphicsDisplay : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                          // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                                                                                                                                                                                              // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;                                                                                                                                                                       // +0x8    0x10
  @"_VZFramebuffer" _framebuffer;                                                                                                                                                                                                                                                   // +0x8    0x18
  Q _graphicsDeviceIndex;                                                                                                                                                                                                                                                           // +0x8    0x20
  Q _framebufferIndex;                                                                                                                                                                                                                                                              // +0x8    0x28
  B _supportsReconfiguration;                                                                                                                                                                                                                                                       // +0x1    0x30
  @"VZVirtualMachineView" _liveResizeConnectedView;                                                                                                                                                                                                                                 // +0x8    0x38
  i _resizeState;                                                                                                                                                                                                                                                                   // +0x4    0x40
  {DispatchSourceTimer="_source"{CfPtr<NSObject<OS_dispatch_source> *>="_ptr"@"NSObject<OS_dispatch_source>"}} _resizeAwaitingSizeFailsafeTimer;                                                                                                                                    // +0x8    0x48
  {DispatchSourceTimer="_source"{CfPtr<NSObject<OS_dispatch_source> *>="_ptr"@"NSObject<OS_dispatch_source>"}} _resizeQuiesceTimer;                                                                                                                                                 // +0x8    0x50
  I _resizeQuiesceFrameCount;                                                                                                                                                                                                                                                       // +0x4    0x58
  {vector<__weak id<VZGraphicsDisplayObserver>, std::allocator<__weak id<VZGraphicsDisplayObserver>>>="__begin_"^@"__end_"^@"__end_cap_"{__compressed_pair<__weak id<VZGraphicsDisplayObserver> *, std::allocator<__weak id<VZGraphicsDisplayObserver>>>="__value_"^@}} _observers; // +0x18   0x60
}

@property (T{CGSize=dd},R) sizeInPixels;

/* instance methods */
-[VZGraphicsDisplay dealloc];
-[VZGraphicsDisplay .cxx_destruct];
-[VZGraphicsDisplay .cxx_construct];
-[VZGraphicsDisplay removeObserver:];
-[VZGraphicsDisplay _configuration];
-[VZGraphicsDisplay addObserver:];
-[VZGraphicsDisplay observeValueForKeyPath:ofObject:change:context:];
-[VZGraphicsDisplay _displayConfiguration];
-[VZGraphicsDisplay sizeInPixels];
-[VZGraphicsDisplay _matchesConfiguration:];
-[VZGraphicsDisplay _matchesSize:];
-[VZGraphicsDisplay _takeScreenshotWithCompletionHandler:];
-[VZGraphicsDisplay initWithVirtualMachine:graphicsDeviceIndex:framebufferIndex:];
-[VZGraphicsDisplay reconfigureWithConfiguration:error:];
-[VZGraphicsDisplay reconfigureWithSizeInPixels:error:];
@end

@interface VZGraphicsDisplayConfiguration : NSObject<NSCopying> {
/* instance methods */
-[VZGraphicsDisplayConfiguration copyWithZone:];
-[VZGraphicsDisplayConfiguration _init];
@end

@interface VZHostAudioInputStreamSource : VZAudioInputStreamSource {
/* instance methods */
-[VZHostAudioInputStreamSource init];
-[VZHostAudioInputStreamSource _attachment];
-[VZHostAudioInputStreamSource encodeWithEncoder:];
@end

@interface VZHostAudioOutputStreamSink : VZAudioOutputStreamSink {
/* instance methods */
-[VZHostAudioOutputStreamSink init];
-[VZHostAudioOutputStreamSink _attachment];
-[VZHostAudioOutputStreamSink encodeWithEncoder:];
@end

@interface VZKeyboardConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZKeyboardConfiguration copyWithZone:];
-[VZKeyboardConfiguration _init];
-[VZKeyboardConfiguration _keyboardWithDeviceIdentifier:];
-[VZKeyboardConfiguration encodeWithEncoder:];
-[VZKeyboardConfiguration makeKeyboardForVirtualMachine:deviceIdentifier:];
@end

@interface VZKeyboardEventTap : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   // +size   offset
  @"VZVirtualMachineView" _view;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             // +0x8    0x8
  @"NSObject<OS_xpc_object>" _connection;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    // +0x8    0x10
  {unique_ptr<KeyboardEventTapMessenger, std::default_delete<KeyboardEventTapMessenger>>="__ptr_"{__compressed_pair<KeyboardEventTapMessenger *, std::default_delete<KeyboardEventTapMessenger>>="__value_"^{KeyboardEventTapMessenger}}} _messenger;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        // +0x8    0x18
  {unordered_multiset<long long, std::hash<long long>, std::equal_to<long long>, std::allocator<long long>>="__table_"{__hash_table<long long, std::hash<long long>, std::equal_to<long long>, std::allocator<long long>>="__bucket_list_"{unique_ptr<std::__hash_node_base<std::__hash_node<long long, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<long long, void *> *> *>>>="__ptr_"{__compressed_pair<std::__hash_node_base<std::__hash_node<long long, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<long long, void *> *> *>>>="__value_"^^v"__value_"{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<long long, void *> *> *>>="__data_"{__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<long long, void *> *> *>>="__value_"Q}}}}"__p1_"{__compressed_pair<std::__hash_node_base<std::__hash_node<long long, void *> *>, std::allocator<std::__hash_node<long long, void *>>>="__value_"{__hash_node_base<std::__hash_node<long long, void *> *>="__next_"^v}}"__p2_"{__compressed_pair<unsigned long, std::hash<long long>>="__value_"Q}"__p3_"{__compressed_pair<float, std::equal_to<long long>>="__value_"f}}} _keysDown; // +0x28   0x20
}

/* instance methods */
-[VZKeyboardEventTap dealloc];
-[VZKeyboardEventTap .cxx_destruct];
-[VZKeyboardEventTap .cxx_construct];
@end

@interface VZLinuxBootLoader : VZBootLoader {
  /* instance variables */     // +size   offset
  @"NSURL" _initialRamdiskURL; // +0x8    0x8
  @"NSURL" _kernelURL;         // +0x8    0x10
  @"NSString" _commandLine;    // +0x8    0x18
}

@property (T@"NSURL",C,V_kernelURL) kernelURL;
@property (T@"NSString",C,V_commandLine) commandLine;
@property (T@"NSURL",C) initialRamdiskURL;

/* instance methods */
-[VZLinuxBootLoader copyWithZone:];
-[VZLinuxBootLoader .cxx_destruct];
-[VZLinuxBootLoader setCommandLine:];
-[VZLinuxBootLoader _bootLoaderForConfiguration:];
-[VZLinuxBootLoader _localFileSystemResources];
-[VZLinuxBootLoader commandLine];
-[VZLinuxBootLoader encodeWithEncoder:];
-[VZLinuxBootLoader initWithKernelURL:];
-[VZLinuxBootLoader initialRamdiskURL];
-[VZLinuxBootLoader kernelURL];
-[VZLinuxBootLoader setInitialRamdiskURL:];
-[VZLinuxBootLoader setKernelURL:];
@end

@interface VZLinuxRosettaAbstractSocketCachingOptions : VZLinuxRosettaCachingOptions {
  /* instance variables */ // +size   offset
  @"NSString" _name;       // +0x8    0x30
}

@property (T@"NSString",R,C,V_name) name;

/* class methods */
+[VZLinuxRosettaAbstractSocketCachingOptions maximumNameLength];

/* instance methods */
-[VZLinuxRosettaAbstractSocketCachingOptions name];
-[VZLinuxRosettaAbstractSocketCachingOptions .cxx_destruct];
-[VZLinuxRosettaAbstractSocketCachingOptions _options];
-[VZLinuxRosettaAbstractSocketCachingOptions initWithName:error:];
-[VZLinuxRosettaAbstractSocketCachingOptions encodeWithEncoder:];
@end

@interface VZLinuxRosettaCachingOptions : NSObject<_VZVirtualMachineConfigurationEncodable> {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       // +size   offset
  {Expected<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions, NSError *>="s"(storage<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions, NSError *>="dummy"c"val"{CachingOptions="path"{basic_string<char, std::char_traits<char>, std::allocator<char>>="__r_"{__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>="__value_"{__rep=""(?="__l"{__long="__data_"*"__size_"Q"__cap_"b63"__is_long_"b1}"__s"{__short="__data_"[23c]"__padding_"[0C]"__size_"b7"__is_long_"b1}"__r"{__raw="__words"[3Q]})}}}"is_abstract"B}"err"@"NSError")"has"B} __options; // +0x28   0x8
}

@property (T{Expected<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions, NSError *>=(storage<VzCore::Hardware::DirectoryShares::Rosetta::CachingOptions, NSError *>=c{CachingOptions={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}B}@)B},R,V__options) _options;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZLinuxRosettaCachingOptions .cxx_destruct];
-[VZLinuxRosettaCachingOptions _options];
-[VZLinuxRosettaCachingOptions .cxx_construct];
-[VZLinuxRosettaCachingOptions _init];
-[VZLinuxRosettaCachingOptions _share];
-[VZLinuxRosettaCachingOptions encodeWithEncoder:];
@end

@interface VZLinuxRosettaDirectoryShare : VZDirectoryShare {
  /* instance variables */                  // +size   offset
  @"VZSharedDirectory" _directory;          // +0x8    0x8
  @"VZLinuxRosettaCachingOptions" _options; // +0x8    0x10
}

@property (T@"VZLinuxRosettaCachingOptions",&,V_options) options;

/* class methods */
+[VZLinuxRosettaDirectoryShare availability];
+[VZLinuxRosettaDirectoryShare installRosettaWithCompletionHandler:];

/* instance methods */
-[VZLinuxRosettaDirectoryShare .cxx_destruct];
-[VZLinuxRosettaDirectoryShare options];
-[VZLinuxRosettaDirectoryShare initWithError:];
-[VZLinuxRosettaDirectoryShare setOptions:];
-[VZLinuxRosettaDirectoryShare _share];
-[VZLinuxRosettaDirectoryShare encodeWithEncoder:];
@end

@interface VZLinuxRosettaUnixSocketCachingOptions : VZLinuxRosettaCachingOptions {
  /* instance variables */ // +size   offset
  @"NSString" _path;       // +0x8    0x30
}

@property (T@"NSString",R,C,V_path) path;

/* class methods */
+[VZLinuxRosettaUnixSocketCachingOptions maximumPathLength];

/* instance methods */
-[VZLinuxRosettaUnixSocketCachingOptions init];
-[VZLinuxRosettaUnixSocketCachingOptions .cxx_destruct];
-[VZLinuxRosettaUnixSocketCachingOptions _options];
-[VZLinuxRosettaUnixSocketCachingOptions path];
-[VZLinuxRosettaUnixSocketCachingOptions initWithPath:error:];
-[VZLinuxRosettaUnixSocketCachingOptions encodeWithEncoder:];
@end

@interface VZMACAddress : NSObject<NSCopying> {
  /* instance variables */                                                      // +size   offset
  {MacAddress="_octets"{array<unsigned char, 6UL>="__elems_"[6C]}} _macAddress; // +0x6    0x8
}

@property (T{ether_addr=[6C]},R) ethernetAddress;
@property (T@"NSString",R,C) string;
@property (TB,R,GisBroadcastAddress) isBroadcastAddress;
@property (TB,R,GisMulticastAddress) isMulticastAddress;
@property (TB,R,GisUnicastAddress) isUnicastAddress;
@property (TB,R,GisLocallyAdministeredAddress) isLocallyAdministeredAddress;
@property (TB,R,GisUniversallyAdministeredAddress) isUniversallyAdministeredAddress;

/* class methods */
+[VZMACAddress randomLocallyAdministeredAddress];

/* instance methods */
-[VZMACAddress copyWithZone:];
-[VZMACAddress debugDescription];
-[VZMACAddress description];
-[VZMACAddress hash];
-[VZMACAddress isEqual:];
-[VZMACAddress string];
-[VZMACAddress initWithString:];
-[VZMACAddress ethernetAddress];
-[VZMACAddress initWithEthernetAddress:];
-[VZMACAddress isBroadcastAddress];
-[VZMACAddress isLocallyAdministeredAddress];
-[VZMACAddress isMulticastAddress];
-[VZMACAddress isUnicastAddress];
-[VZMACAddress isUniversallyAdministeredAddress];
@end

@interface VZMMIOExtensionDeviceExtension : _EXExtension {
/* instance methods */
-[VZMMIOExtensionDeviceExtension init];
-[VZMMIOExtensionDeviceExtension shouldAcceptConnection:];
@end

@interface VZMacAuxiliaryStorage : NSObject {
  /* instance variables */ // +size   offset
  @"NSURL" _URL;           // +0x8    0x8
}

@property (T@"NSURL",R,C,V_URL) URL;

/* instance methods */
-[VZMacAuxiliaryStorage .cxx_destruct];
-[VZMacAuxiliaryStorage initWithContentsOfURL:];
-[VZMacAuxiliaryStorage initWithURL:];
-[VZMacAuxiliaryStorage URL];
-[VZMacAuxiliaryStorage _allNVRAMDataVariablesInPartition:error:];
-[VZMacAuxiliaryStorage _allNVRAMDataVariablesWithError:];
-[VZMacAuxiliaryStorage _allNVRAMVariablesInPartition:error:];
-[VZMacAuxiliaryStorage _allNVRAMVariablesWithError:];
-[VZMacAuxiliaryStorage _dataValueForNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage _objectForNVRAMVariableNamed:isString:error:];
-[VZMacAuxiliaryStorage _removeNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage _setDataValue:forNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage _setDataValue:stringValue:forNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage _setValue:forNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage _valueForNVRAMVariableNamed:error:];
-[VZMacAuxiliaryStorage initCreatingStorageAtURL:hardwareModel:options:error:];
@end

@interface VZMacGraphicsDevice : VZGraphicsDevice {
  /* instance variables */ // +size   offset
  q _deviceFeatureLevel;   // +0x8    0x10
}

/* instance methods */
-[VZMacGraphicsDevice _deviceFeatureLevel];
@end

@interface VZMacGraphicsDeviceConfiguration : VZGraphicsDeviceConfiguration {
  /* instance variables */   // +size   offset
  B _prefersLowPower;        // +0x1    0x8
  B _enableProcessIsolation; // +0x1    0x9
  q _deviceFeatureLevel;     // +0x8    0x10
  @"NSArray" _displays;      // +0x8    0x18
}

@property (TB,S_setPrefersLowPower:) _prefersLowPower;
@property (TB,S_setEnableProcessIsolation:) _enableProcessIsolation;
@property (Tq,S_setDeviceFeatureLevel:) _deviceFeatureLevel;
@property (T@"NSArray",C,V_displays) displays;

/* instance methods */
-[VZMacGraphicsDeviceConfiguration copyWithZone:];
-[VZMacGraphicsDeviceConfiguration init];
-[VZMacGraphicsDeviceConfiguration .cxx_destruct];
-[VZMacGraphicsDeviceConfiguration validateWithError:];
-[VZMacGraphicsDeviceConfiguration displays];
-[VZMacGraphicsDeviceConfiguration setDisplays:];
-[VZMacGraphicsDeviceConfiguration _deviceFeatureLevel];
-[VZMacGraphicsDeviceConfiguration _enableProcessIsolation];
-[VZMacGraphicsDeviceConfiguration _graphicsDevice];
-[VZMacGraphicsDeviceConfiguration _prefersLowPower];
-[VZMacGraphicsDeviceConfiguration _setDeviceFeatureLevel:];
-[VZMacGraphicsDeviceConfiguration _setEnableProcessIsolation:];
-[VZMacGraphicsDeviceConfiguration _setPrefersLowPower:];
-[VZMacGraphicsDeviceConfiguration encodeWithEncoder:];
-[VZMacGraphicsDeviceConfiguration makeGraphicsDeviceForVirtualMachine:graphicsDeviceIndex:];
@end

@interface VZMacGraphicsDisplay : VZGraphicsDisplay {
  /* instance variables */                             // +size   offset
  @"VZMacGraphicsDisplayConfiguration" _configuration; // +0x8    0x78
}

@property (Tq,R) pixelsPerInch;

/* instance methods */
-[VZMacGraphicsDisplay .cxx_destruct];
-[VZMacGraphicsDisplay _configuration];
-[VZMacGraphicsDisplay _displayConfiguration];
-[VZMacGraphicsDisplay sizeInPixels];
-[VZMacGraphicsDisplay pixelsPerInch];
-[VZMacGraphicsDisplay _matchesConfiguration:];
-[VZMacGraphicsDisplay _matchesSize:];
-[VZMacGraphicsDisplay reconfigureWithConfiguration:error:];
-[VZMacGraphicsDisplay reconfigureWithSizeInPixels:error:];
@end

@interface VZMacGraphicsDisplayConfiguration : VZGraphicsDisplayConfiguration {
  /* instance variables */ // +size   offset
  q _widthInPixels;        // +0x8    0x8
  q _heightInPixels;       // +0x8    0x10
  q _pixelsPerInch;        // +0x8    0x18
}

@property (Tq,V_widthInPixels) widthInPixels;
@property (Tq,V_heightInPixels) heightInPixels;
@property (Tq,V_pixelsPerInch) pixelsPerInch;

/* instance methods */
-[VZMacGraphicsDisplayConfiguration copyWithZone:];
-[VZMacGraphicsDisplayConfiguration pixelsPerInch];
-[VZMacGraphicsDisplayConfiguration setPixelsPerInch:];
-[VZMacGraphicsDisplayConfiguration heightInPixels];
-[VZMacGraphicsDisplayConfiguration initForScreen:sizeInPoints:];
-[VZMacGraphicsDisplayConfiguration initWithWidthInPixels:heightInPixels:pixelsPerInch:];
-[VZMacGraphicsDisplayConfiguration setHeightInPixels:];
-[VZMacGraphicsDisplayConfiguration setWidthInPixels:];
-[VZMacGraphicsDisplayConfiguration widthInPixels];
@end

@interface VZMacHardwareModel : NSObject<NSCopying> {
  /* instance variables */                                                          // +size   offset
  q _isa;                                                                           // +0x8    0x8
  {?="majorVersion"q"minorVersion"q"patchVersion"q} _minimumSupportedHostOSVersion; // +0x18   0x10
  I _boardID;                                                                       // +0x4    0x28
  I _variantID;                                                                     // +0x4    0x2c
  @"NSString" _variantName;                                                         // +0x8    0x30
  r^{PlatformConfiguration=II{?=qqq}iB} _defaultPlatformConfiguration;              // +0x8    0x38
  I _platformVersion;                                                               // +0x4    0x40
}

@property (Tq,R) _isa;
@property (TI,R) _boardID;
@property (TI,R) _variantID;
@property (T{?=qqq},R) _minimumSupportedHostOSVersion;
@property (T@"NSString",R) _variantName;
@property (T@"NSData",R,C) dataRepresentation;
@property (TB,R,GisSupported) supported;

/* class methods */
+[VZMacHardwareModel _defaultHardwareModel];
+[VZMacHardwareModel _hardwareModelWithDescriptor:];

/* instance methods */
-[VZMacHardwareModel copyWithZone:];
-[VZMacHardwareModel hash];
-[VZMacHardwareModel isEqual:];
-[VZMacHardwareModel .cxx_destruct];
-[VZMacHardwareModel dataRepresentation];
-[VZMacHardwareModel _variantID];
-[VZMacHardwareModel initWithDataRepresentation:];
-[VZMacHardwareModel isSupported];
-[VZMacHardwareModel _variantName];
-[VZMacHardwareModel _boardID];
-[VZMacHardwareModel _isa];
-[VZMacHardwareModel _minimumSupportedHostOSVersion];
@end

@interface VZMacKeyboardConfiguration : VZKeyboardConfiguration {
  /* instance variables */ // +size   offset
  B _supportsGlobeKey;     // +0x1    0x8
  B _softwareKeyboard;     // +0x1    0x9
}

@property (TB,S_setSupportsGlobeKey:) _supportsGlobeKey;
@property (TB,S_setSoftwareKeyboard:) _softwareKeyboard;

/* instance methods */
-[VZMacKeyboardConfiguration copyWithZone:];
-[VZMacKeyboardConfiguration init];
-[VZMacKeyboardConfiguration _keyboardWithDeviceIdentifier:];
-[VZMacKeyboardConfiguration _setSoftwareKeyboard:];
-[VZMacKeyboardConfiguration _setSupportsGlobeKey:];
-[VZMacKeyboardConfiguration _softwareKeyboard];
-[VZMacKeyboardConfiguration _supportsGlobeKey];
-[VZMacKeyboardConfiguration encodeWithEncoder:];
-[VZMacKeyboardConfiguration makeKeyboardForVirtualMachine:deviceIdentifier:];
@end

@interface VZMacMachineIdentifier : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */             // +size   offset
  Q _ECID;                             // +0x8    0x8
  B _disableECIDChecks;                // +0x1    0x10
  @"_VZMacSerialNumber" _serialNumber; // +0x8    0x18
  @"NSData" _hostKeyData;              // +0x8    0x20
}

@property (TQ,R) _ECID;
@property (T@"_VZMacSerialNumber",R) _serialNumber;
@property (TB,R) _ECIDChecksDisabled;
@property (T@"NSData",R,C) dataRepresentation;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[VZMacMachineIdentifier _machineIdentifierForVirtualMachineClone];
+[VZMacMachineIdentifier _machineIdentifierForVirtualMachineCloneWithECID:serialNumber:];
+[VZMacMachineIdentifier _machineIdentifierForVirtualMachineCloneWithSerialNumber:];
+[VZMacMachineIdentifier _machineIdentifierWithECID:serialNumber:];
+[VZMacMachineIdentifier _machineIdentifierWithSerialNumber:];

/* instance methods */
-[VZMacMachineIdentifier copyWithZone:];
-[VZMacMachineIdentifier hash];
-[VZMacMachineIdentifier init];
-[VZMacMachineIdentifier isEqual:];
-[VZMacMachineIdentifier .cxx_destruct];
-[VZMacMachineIdentifier dataRepresentation];
-[VZMacMachineIdentifier initWithDataRepresentation:];
-[VZMacMachineIdentifier _serialNumber];
-[VZMacMachineIdentifier _ECID];
-[VZMacMachineIdentifier _ECIDChecksDisabled];
-[VZMacMachineIdentifier encodeWithEncoder:];
@end

@interface VZMacOSBootLoader : VZBootLoader {
  /* instance variables */ // +size   offset
  @"NSURL" _romURL;        // +0x8    0x8
}

@property (T@"NSURL",C,S_setROMURL:) _romURL;

/* instance methods */
-[VZMacOSBootLoader copyWithZone:];
-[VZMacOSBootLoader init];
-[VZMacOSBootLoader .cxx_destruct];
-[VZMacOSBootLoader _romURL];
-[VZMacOSBootLoader _bootLoaderForConfiguration:];
-[VZMacOSBootLoader _localFileSystemResources];
-[VZMacOSBootLoader _setROMURL:];
-[VZMacOSBootLoader encodeWithEncoder:];
@end

@interface VZMacOSConfigurationRequirements : NSObject {
  /* instance variables */                                                                                                                                               // +size   offset
  @"VZMacHardwareModel" _hardwareModel;                                                                                                                                  // +0x8    0x8
  Q _minimumSupportedCPUCount;                                                                                                                                           // +0x8    0x10
  Q _minimumSupportedMemorySize;                                                                                                                                         // +0x8    0x18
  @"NSMutableSet" _variants;                                                                                                                                             // +0x8    0x20
  {optional<std::array<unsigned long long, 5>>=""(?="__null_state_"c"__val_"{array<unsigned long long, 5UL>="__elems_"[5Q]})"__engaged_"B} _requiredMobileDeviceVersion; // +0x30   0x28
}

@property (T@"VZMacHardwareModel",R,C,V_hardwareModel) hardwareModel;
@property (TQ,R,V_minimumSupportedCPUCount) minimumSupportedCPUCount;
@property (TQ,R,V_minimumSupportedMemorySize) minimumSupportedMemorySize;

/* instance methods */
-[VZMacOSConfigurationRequirements .cxx_destruct];
-[VZMacOSConfigurationRequirements .cxx_construct];
-[VZMacOSConfigurationRequirements _variants];
-[VZMacOSConfigurationRequirements hardwareModel];
-[VZMacOSConfigurationRequirements minimumSupportedCPUCount];
-[VZMacOSConfigurationRequirements minimumSupportedMemorySize];
@end

@interface VZMacOSInstaller : NSObject {
  /* instance variables */                                                                                                   // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                                       // +0x8    0x8
  B _virtualMachineStarted;                                                                                                  // +0x1    0x10
  B _installStarted;                                                                                                         // +0x1    0x11
  B _installCompleted;                                                                                                       // +0x1    0x12
  B _installCancelled;                                                                                                       // +0x1    0x13
  B _disableMobileDeviceUpdate;                                                                                              // +0x1    0x14
  @? _completionHandler;                                                                                                     // +0x8    0x18
  {shared_ptr<VzInstallation::InstallerMessenger>="__ptr_"^{InstallerMessenger}"__cntrl_"^{__shared_weak_count}} _messenger; // +0x10   0x20
  @"NSDictionary" _restoreOptions;                                                                                           // +0x8    0x30
  @"NSError" _installError;                                                                                                  // +0x8    0x38
  @"NSProgress" _progress;                                                                                                   // +0x8    0x40
  @"NSURL" _restoreImageURL;                                                                                                 // +0x8    0x48
}

@property (T@"NSProgress",R,V_progress) progress;
@property (T@"VZVirtualMachine",R,V_virtualMachine) virtualMachine;
@property (T@"NSURL",R,V_restoreImageURL) restoreImageURL;

/* class methods */
+[VZMacOSInstaller _installerWithVirtualMachine:restoreOptions:];

/* instance methods */
-[VZMacOSInstaller .cxx_destruct];
-[VZMacOSInstaller .cxx_construct];
-[VZMacOSInstaller progress];
-[VZMacOSInstaller virtualMachine];
-[VZMacOSInstaller restoreImageURL];
-[VZMacOSInstaller _disableMobileDeviceUpdate];
-[VZMacOSInstaller initWithVirtualMachine:restoreImageURL:];
-[VZMacOSInstaller installWithCompletionHandler:];
@end

@interface VZMacOSRestoreImage : NSObject {
  /* instance variables */                                                                                                                                           // +size   offset
  {shared_ptr<VzInstallation::InstallerMessenger>="__ptr_"^{InstallerMessenger}"__cntrl_"^{__shared_weak_count}} _messenger;                                         // +0x10   0x8
  @"NSArray" _configurations;                                                                                                                                        // +0x8    0x18
  {optional<std::array<unsigned long long, 5>>=""(?="__null_state_"c"__val_"{array<unsigned long long, 5UL>="__elems_"[5Q]})"__engaged_"B} _hostMobileDeviceVersion; // +0x30   0x20
  @"NSURL" _URL;                                                                                                                                                     // +0x8    0x50
  @"NSString" _buildVersion;                                                                                                                                         // +0x8    0x58
  @"NSDictionary" _restoreOptions;                                                                                                                                   // +0x8    0x60
  {?="majorVersion"q"minorVersion"q"patchVersion"q} _operatingSystemVersion;                                                                                         // +0x18   0x68
}

@property (T@"NSArray",R,C) _configurations;
@property (TB,R,GisSupported) supported;
@property (T@"NSURL",R,C,V_URL) URL;
@property (T@"NSString",R,C,V_buildVersion) buildVersion;
@property (T{?=qqq},R,V_operatingSystemVersion) operatingSystemVersion;
@property (T@"VZMacOSConfigurationRequirements",R,C) mostFeaturefulSupportedConfiguration;

/* class methods */
+[VZMacOSRestoreImage _fetchAvailableImagesWithCompletionHandler:];
+[VZMacOSRestoreImage _fetchLatestSupportedWithOptions:completionHandler:];
+[VZMacOSRestoreImage _loadCatalogWithOptions:completionHandler:];
+[VZMacOSRestoreImage _loadFileURL:deviceClassParser:completionHandler:];
+[VZMacOSRestoreImage fetchLatestSupportedWithCompletionHandler:];
+[VZMacOSRestoreImage loadFileURL:completionHandler:];

/* instance methods */
-[VZMacOSRestoreImage dealloc];
-[VZMacOSRestoreImage .cxx_destruct];
-[VZMacOSRestoreImage .cxx_construct];
-[VZMacOSRestoreImage URL];
-[VZMacOSRestoreImage operatingSystemVersion];
-[VZMacOSRestoreImage _configurations];
-[VZMacOSRestoreImage isSupported];
-[VZMacOSRestoreImage buildVersion];
-[VZMacOSRestoreImage mostFeaturefulSupportedConfiguration];
@end

@interface VZMacOSVirtualMachineStartOptions : VZVirtualMachineStartOptions {
  /* instance variables */     // +size   offset
  B _forceDFU;                 // +0x1    0x28
  B _stopInIBootStage1;        // +0x1    0x29
  B _stopInIBootStage2;        // +0x1    0x2a
  B _startUpFromMacOSRecovery; // +0x1    0x2b
}

@property (TB,S_setForceDFU:) _forceDFU;
@property (TB,S_setStopInIBootStage1:) _stopInIBootStage1;
@property (TB,S_setStopInIBootStage2:) _stopInIBootStage2;
@property (TB,V_startUpFromMacOSRecovery) startUpFromMacOSRecovery;

/* instance methods */
-[VZMacOSVirtualMachineStartOptions _forceDFU];
-[VZMacOSVirtualMachineStartOptions _setForceDFU:];
-[VZMacOSVirtualMachineStartOptions _setStopInIBootStage1:];
-[VZMacOSVirtualMachineStartOptions _setStopInIBootStage2:];
-[VZMacOSVirtualMachineStartOptions _startOptions];
-[VZMacOSVirtualMachineStartOptions _stopInIBootStage1];
-[VZMacOSVirtualMachineStartOptions _stopInIBootStage2];
-[VZMacOSVirtualMachineStartOptions setStartUpFromMacOSRecovery:];
-[VZMacOSVirtualMachineStartOptions startUpFromMacOSRecovery];
@end

@interface VZMacPlatformConfiguration : VZPlatformConfiguration {
  /* instance variables */                      // +size   offset
  B _productionModeEnabled;                     // +0x1    0x8
  B _sioDescramblerEnabled;                     // +0x1    0x9
  B _fairPlayEnabled;                           // +0x1    0xa
  B _fairPlayEnabledWasExplicitlySet;           // +0x1    0xb
  @"VZMacHardwareModel" _hardwareModel;         // +0x8    0x10
  @"VZMacMachineIdentifier" _machineIdentifier; // +0x8    0x18
  @"VZMacAuxiliaryStorage" _auxiliaryStorage;   // +0x8    0x20
}

@property (TB,G_isProductionModeEnabled,S_setProductionModeEnabled:) _productionModeEnabled;
@property (TB,G_isSIODescramblerEnabled,S_setSIODescramblerEnabled:) _sioDescramblerEnabled;
@property (TB,G_isFairPlayEnabled,S_setFairPlayEnabled:) _fairPlayEnabled;
@property (T@"VZMacHardwareModel",C,V_hardwareModel) hardwareModel;
@property (T@"VZMacMachineIdentifier",C,V_machineIdentifier) machineIdentifier;
@property (T@"VZMacAuxiliaryStorage",&,V_auxiliaryStorage) auxiliaryStorage;

/* instance methods */
-[VZMacPlatformConfiguration copyWithZone:];
-[VZMacPlatformConfiguration init];
-[VZMacPlatformConfiguration .cxx_destruct];
-[VZMacPlatformConfiguration _platform];
-[VZMacPlatformConfiguration validate];
-[VZMacPlatformConfiguration hardwareModel];
-[VZMacPlatformConfiguration setHardwareModel:];
-[VZMacPlatformConfiguration _isFairPlayEnabled];
-[VZMacPlatformConfiguration _isProductionModeEnabled];
-[VZMacPlatformConfiguration _isSIODescramblerEnabled];
-[VZMacPlatformConfiguration _localFileSystemResources];
-[VZMacPlatformConfiguration _setFairPlayEnabled:];
-[VZMacPlatformConfiguration _setProductionModeEnabled:];
-[VZMacPlatformConfiguration _setSIODescramblerEnabled:];
-[VZMacPlatformConfiguration auxiliaryStorage];
-[VZMacPlatformConfiguration encodeWithEncoder:];
-[VZMacPlatformConfiguration machineIdentifier];
-[VZMacPlatformConfiguration setAuxiliaryStorage:];
-[VZMacPlatformConfiguration setMachineIdentifier:];
@end

@interface VZMacTrackpadConfiguration : VZPointingDeviceConfiguration {
/* instance methods */
-[VZMacTrackpadConfiguration copyWithZone:];
-[VZMacTrackpadConfiguration init];
-[VZMacTrackpadConfiguration _pointingDevice];
-[VZMacTrackpadConfiguration encodeWithEncoder:];
-[VZMacTrackpadConfiguration makePointingDeviceForVirtualMachine:pointingDeviceIndex:];
@end

@interface VZMemoryBalloonDevice : NSObject {
/* instance methods */
-[VZMemoryBalloonDevice _init];
@end

@interface VZMemoryBalloonDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZMemoryBalloonDeviceConfiguration copyWithZone:];
-[VZMemoryBalloonDeviceConfiguration _init];
-[VZMemoryBalloonDeviceConfiguration _memoryBalloonDevice];
-[VZMemoryBalloonDeviceConfiguration encodeWithEncoder:];
-[VZMemoryBalloonDeviceConfiguration makeMemoryBalloonDeviceForVirtualMachine:memoryBalloonDeviceIndex:maxTargetMemorySize:];
@end

@interface VZMultipleDirectoryShare : VZDirectoryShare {
  /* instance variables */      // +size   offset
  @"NSDictionary" _directories; // +0x8    0x8
}

@property (T@"NSDictionary",R,C,V_directories) directories;

/* class methods */
+[VZMultipleDirectoryShare validateName:error:];
+[VZMultipleDirectoryShare canonicalizedNameFromName:];

/* instance methods */
-[VZMultipleDirectoryShare init];
-[VZMultipleDirectoryShare .cxx_destruct];
-[VZMultipleDirectoryShare _share];
-[VZMultipleDirectoryShare initWithDirectories:];
-[VZMultipleDirectoryShare directories];
-[VZMultipleDirectoryShare encodeWithEncoder:];
@end

@interface VZNATNetworkDeviceAttachment : VZNetworkDeviceAttachment {
  /* instance variables */      // +size   offset
  B _interfaceIsolationEnabled; // +0x1    0x8
}

@property (TB,S_setInterfaceIsolationEnabled:) _interfaceIsolationEnabled;

/* instance methods */
-[VZNATNetworkDeviceAttachment init];
-[VZNATNetworkDeviceAttachment _attachment];
-[VZNATNetworkDeviceAttachment _interfaceIsolationEnabled];
-[VZNATNetworkDeviceAttachment _setInterfaceIsolationEnabled:];
-[VZNATNetworkDeviceAttachment encodeWithEncoder:];
@end

@interface VZNVMExpressControllerDeviceConfiguration : VZStorageDeviceConfiguration {
/* instance methods */
-[VZNVMExpressControllerDeviceConfiguration copyWithZone:];
-[VZNVMExpressControllerDeviceConfiguration initWithAttachment:];
-[VZNVMExpressControllerDeviceConfiguration _getStorageDeviceWithQueue:session:completionHandler:];
-[VZNVMExpressControllerDeviceConfiguration encodeWithEncoder:];
@end

@interface VZNetworkBlockDeviceStorageDeviceAttachment : VZStorageDeviceAttachment {
  /* instance variables */                                            // +size   offset
  B _forcedReadOnly;                                                  // +0x1    0x8
  @"NSURL" _URL;                                                      // +0x8    0x10
  d _timeout;                                                         // +0x8    0x18
  q _synchronizationMode;                                             // +0x8    0x20
  @"<VZNetworkBlockDeviceStorageDeviceAttachmentDelegate>" _delegate; // +0x8    0x28
}

@property (T@"NSURL",R,C,V_URL) URL;
@property (Td,R,V_timeout) timeout;
@property (TB,R,GisForcedReadOnly,V_forcedReadOnly) forcedReadOnly;
@property (Tq,R,V_synchronizationMode) synchronizationMode;
@property (T@"<VZNetworkBlockDeviceStorageDeviceAttachmentDelegate>",W,V_delegate) delegate;

/* class methods */
+[VZNetworkBlockDeviceStorageDeviceAttachment validateURL:error:];

/* instance methods */
-[VZNetworkBlockDeviceStorageDeviceAttachment .cxx_destruct];
-[VZNetworkBlockDeviceStorageDeviceAttachment delegate];
-[VZNetworkBlockDeviceStorageDeviceAttachment setDelegate:];
-[VZNetworkBlockDeviceStorageDeviceAttachment URL];
-[VZNetworkBlockDeviceStorageDeviceAttachment timeout];
-[VZNetworkBlockDeviceStorageDeviceAttachment initWithURL:error:];
-[VZNetworkBlockDeviceStorageDeviceAttachment _getAttachmentWithQueue:completionHandler:];
-[VZNetworkBlockDeviceStorageDeviceAttachment encodeWithEncoder:];
-[VZNetworkBlockDeviceStorageDeviceAttachment initWithURL:timeout:forcedReadOnly:synchronizationMode:error:];
-[VZNetworkBlockDeviceStorageDeviceAttachment isForcedReadOnly];
-[VZNetworkBlockDeviceStorageDeviceAttachment synchronizationMode];
@end

@interface VZNetworkDevice : NSObject {
  /* instance variables */                  // +size   offset
  @"VZVirtualMachine" _virtualMachine;      // +0x8    0x8
  @"VZNetworkDeviceAttachment" _attachment; // +0x8    0x10
  q _type;                                  // +0x8    0x18
  Q _networkDeviceIndex;                    // +0x8    0x20
}

@property (Tq,R) _type;
@property (T@"VZNetworkDeviceAttachment",&) attachment;

/* instance methods */
-[VZNetworkDevice .cxx_destruct];
-[VZNetworkDevice _type];
-[VZNetworkDevice attachment];
-[VZNetworkDevice setAttachment:];
@end

@interface VZNetworkDeviceAttachment : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>={__impl<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged>={Bridged={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}B}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor>={FileDescriptor={FileDescriptor=i}Q}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<2UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly>={HostOnly=}}(__union<std::__variant_detail::_Trait::_Available, 3UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<3UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>={Nat=B}}(__union<std::__variant_detail::_Trait::_Available, 4UL>=)))))I}}@)B},R) _attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZNetworkDeviceAttachment _init];
-[VZNetworkDeviceAttachment _attachment];
-[VZNetworkDeviceAttachment encodeWithEncoder:];
@end

@interface VZNetworkDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */                  // +size   offset
  @"VZMACAddress" _MACAddress;              // +0x8    0x8
  @"VZNetworkDeviceAttachment" _attachment; // +0x8    0x10
}

@property (T{Expected<VzCore::VirtualMachineConfiguration::NetworkDevice, NSError *>=(storage<VzCore::VirtualMachineConfiguration::NetworkDevice, NSError *>=c{NetworkDevice=i{MacAddress={array<unsigned char, 6UL>=[6C]}}{optional<std::variant<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>>=(?=c{variant<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>={__impl<VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Bridged>={Bridged={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}B}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::FileDescriptor>={FileDescriptor={FileDescriptor=i}Q}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<2UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::HostOnly>={HostOnly=}}(__union<std::__variant_detail::_Trait::_Available, 3UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>=c{__alt<3UL, VzCore::VirtualMachineConfiguration::NetworkDevice::Attachments::Nat>={Nat=B}}(__union<std::__variant_detail::_Trait::_Available, 4UL>=)))))I}})B}}@)B},R) _networkDevice;
@property (T@"VZMACAddress",C,V_MACAddress) MACAddress;
@property (T@"VZNetworkDeviceAttachment",&,V_attachment) attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZNetworkDeviceConfiguration copyWithZone:];
-[VZNetworkDeviceConfiguration .cxx_destruct];
-[VZNetworkDeviceConfiguration _init];
-[VZNetworkDeviceConfiguration attachment];
-[VZNetworkDeviceConfiguration setAttachment:];
-[VZNetworkDeviceConfiguration MACAddress];
-[VZNetworkDeviceConfiguration setMACAddress:];
-[VZNetworkDeviceConfiguration _networkDevice];
-[VZNetworkDeviceConfiguration encodeWithEncoder:];
-[VZNetworkDeviceConfiguration makeNetworkDeviceForVirtualMachine:networkDeviceIndex:];
@end

@interface VZObserverProxy : NSObject {
  /* instance variables */ // +size   offset
  @"NSObject" _observer;   // +0x8    0x8
}

/* instance methods */
-[VZObserverProxy .cxx_destruct];
-[VZObserverProxy observeValueForKeyPath:ofObject:change:context:];
@end

@interface VZPlatformConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, _VZVirtualMachineConfigurationResourceProvider, NSCopying> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::Platforms::Generic, VzCore::VirtualMachineConfiguration::Platforms::Mac>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::Platforms::Generic, VzCore::VirtualMachineConfiguration::Platforms::Mac>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::Platforms::Generic, VzCore::VirtualMachineConfiguration::Platforms::Mac>={__impl<VzCore::VirtualMachineConfiguration::Platforms::Generic, VzCore::VirtualMachineConfiguration::Platforms::Mac>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::Platforms::Generic, VzCore::VirtualMachineConfiguration::Platforms::Mac>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::Platforms::Generic>={Generic=Ii{Identifier={Uuid=[16C]}}B}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::Platforms::Mac>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::Platforms::Mac>={Mac=I{FileDescriptor=i}{Identifier=QB{optional<VzCore::Hardware::AvpSerialNumber>=(?=c{AvpSerialNumber={array<unsigned char, 10UL>=[10C]}})B}{optional<std::vector<unsigned char>>=(?=c{vector<unsigned char, std::allocator<unsigned char>>=**{__compressed_pair<unsigned char *, std::allocator<unsigned char>>=*}})B}}iIIBBB{basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}{optional<std::string>=(?=c{basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}})B}{optional<std::string>=(?=c{basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}})B}{optional<std::string>=(?=c{basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}})B}}}(__union<std::__variant_detail::_Trait::_Available, 2UL>=)))I}}@)B},R) _platform;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZPlatformConfiguration copyWithZone:];
-[VZPlatformConfiguration _init];
-[VZPlatformConfiguration _platform];
-[VZPlatformConfiguration validate];
-[VZPlatformConfiguration _localFileSystemResources];
-[VZPlatformConfiguration encodeWithEncoder:];
@end

@interface VZPointingDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (Ti,R) _pointingDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZPointingDeviceConfiguration copyWithZone:];
-[VZPointingDeviceConfiguration _init];
-[VZPointingDeviceConfiguration _pointingDevice];
-[VZPointingDeviceConfiguration encodeWithEncoder:];
-[VZPointingDeviceConfiguration makePointingDeviceForVirtualMachine:pointingDeviceIndex:];
@end

@interface VZSerialPortAttachment : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>={__impl<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors>={FileDescriptors={optional<Base::FileDescriptor>=(?=c{FileDescriptor=i})B}{optional<Base::FileDescriptor>=(?=c{FileDescriptor=i})B}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>={Socket=i{FileDescriptor=i}}}(__union<std::__variant_detail::_Trait::_Available, 2UL>=)))I}}@)B},R) _attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZSerialPortAttachment _init];
-[VZSerialPortAttachment _attachment];
-[VZSerialPortAttachment encodeWithEncoder:];
@end

@interface VZSerialPortConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */               // +size   offset
  @"VZSerialPortAttachment" _attachment; // +0x8    0x8
}

@property (T{Expected<VzCore::VirtualMachineConfiguration::SerialPort, NSError *>=(storage<VzCore::VirtualMachineConfiguration::SerialPort, NSError *>=c{SerialPort=i{optional<VzCore::VirtualMachineConfiguration::SerialPort::Role>=(?=ci)B}{optional<std::variant<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>>=(?=c{variant<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>={__impl<VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=(__union<std::__variant_detail::_Trait::_Available, 0UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::FileDescriptors>={FileDescriptors={optional<Base::FileDescriptor>=(?=c{FileDescriptor=i})B}{optional<Base::FileDescriptor>=(?=c{FileDescriptor=i})B}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::SerialPort::Attachments::Socket>={Socket=i{FileDescriptor=i}}}(__union<std::__variant_detail::_Trait::_Available, 2UL>=)))I}})B}}@)B},R) _serialPort;
@property (T@"VZSerialPortAttachment",&,V_attachment) attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[VZSerialPortConfiguration serialPortType];

/* instance methods */
-[VZSerialPortConfiguration copyWithZone:];
-[VZSerialPortConfiguration .cxx_destruct];
-[VZSerialPortConfiguration _init];
-[VZSerialPortConfiguration attachment];
-[VZSerialPortConfiguration setAttachment:];
-[VZSerialPortConfiguration _serialPort];
-[VZSerialPortConfiguration encodeWithEncoder:];
-[VZSerialPortConfiguration makeSerialPortForVirtualMachine:serialPortIndex:];
@end

@interface VZSharedDirectory : NSObject {
  /* instance variables */ // +size   offset
  Q _uniqueID;             // +0x8    0x8
  B _readOnly;             // +0x1    0x10
  @"NSURL" _URL;           // +0x8    0x18
}

@property (T@"NSURL",R,C,V_URL) URL;
@property (TB,R,GisReadOnly,V_readOnly) readOnly;

/* instance methods */
-[VZSharedDirectory .cxx_destruct];
-[VZSharedDirectory URL];
-[VZSharedDirectory isReadOnly];
-[VZSharedDirectory initWithURL:readOnly:];
@end

@interface VZSingleDirectoryShare : VZDirectoryShare {
  /* instance variables */         // +size   offset
  @"VZSharedDirectory" _directory; // +0x8    0x8
}

@property (T@"VZSharedDirectory",R,V_directory) directory;

/* instance methods */
-[VZSingleDirectoryShare .cxx_destruct];
-[VZSingleDirectoryShare directory];
-[VZSingleDirectoryShare _share];
-[VZSingleDirectoryShare initWithDirectory:];
-[VZSingleDirectoryShare encodeWithEncoder:];
@end

@interface VZSocketDevice : NSObject {
/* instance methods */
-[VZSocketDevice _init];
@end

@interface VZSocketDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZSocketDeviceConfiguration copyWithZone:];
-[VZSocketDeviceConfiguration _init];
-[VZSocketDeviceConfiguration _socketDeviceWithIdentifier:];
-[VZSocketDeviceConfiguration encodeWithEncoder:];
-[VZSocketDeviceConfiguration makeSocketDeviceForVirtualMachine:identifier:];
@end

@interface VZSpiceAgent : NSObject<VZGuestAgent, VZVirtioConsoleDeviceDelegate> {
  /* instance variables */                                                                         // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                             // +0x8    0x8
  @"VZVirtioConsolePort" _consolePort;                                                             // +0x8    0x10
  @"_VZSpiceAgentCore" _agent;                                                                     // +0x8    0x18
  {PipePair="for_reading"{FileDescriptor="_fd"i}"for_writing"{FileDescriptor="_fd"i}} _inputPipe;  // +0x8    0x20
  {PipePair="for_reading"{FileDescriptor="_fd"i}"for_writing"{FileDescriptor="_fd"i}} _outputPipe; // +0x8    0x28
}

@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZSpiceAgent dealloc];
-[VZSpiceAgent .cxx_destruct];
-[VZSpiceAgent .cxx_construct];
-[VZSpiceAgent observeValueForKeyPath:ofObject:change:context:];
-[VZSpiceAgent consoleDevice:didClosePort:];
-[VZSpiceAgent consoleDevice:didOpenPort:];
@end

@interface VZSpiceAgentPortAttachment : VZSerialPortAttachment<_VZVirtualMachineConfigurationEncodable> {
  /* instance variables */ // +size   offset
  @"VZSpiceAgent" _agent;  // +0x8    0x8
  B _sharesClipboard;      // +0x1    0x10
}

@property (TB,V_sharesClipboard) sharesClipboard;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[VZSpiceAgentPortAttachment spiceAgentPortName];

/* instance methods */
-[VZSpiceAgentPortAttachment init];
-[VZSpiceAgentPortAttachment .cxx_destruct];
-[VZSpiceAgentPortAttachment _attachment];
-[VZSpiceAgentPortAttachment sharesClipboard];
-[VZSpiceAgentPortAttachment _makeGuestAgentForVirtualMachine:withConsolePort:];
-[VZSpiceAgentPortAttachment encodeWithEncoder:];
-[VZSpiceAgentPortAttachment setSharesClipboard:];
@end

@interface VZStorageDeviceAttachment : NSObject<_VZVirtualMachineConfigurationEncodable, _VZVirtualMachineConfigurationResourceProvider> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZStorageDeviceAttachment _init];
-[VZStorageDeviceAttachment _getAttachmentWithQueue:completionHandler:];
-[VZStorageDeviceAttachment _getAttachmentWithQueue:session:completionHandler:];
-[VZStorageDeviceAttachment _localFileSystemResources];
-[VZStorageDeviceAttachment encodeWithEncoder:];
@end

@interface VZStorageDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, _VZVirtualMachineConfigurationResourceProvider, NSCopying> {
  /* instance variables */                  // +size   offset
  @"VZStorageDeviceAttachment" _attachment; // +0x8    0x8
}

@property (T@"VZStorageDeviceAttachment",R) attachment;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZStorageDeviceConfiguration copyWithZone:];
-[VZStorageDeviceConfiguration .cxx_destruct];
-[VZStorageDeviceConfiguration attachment];
-[VZStorageDeviceConfiguration _setAttachment:];
-[VZStorageDeviceConfiguration _getStorageDeviceWithQueue:session:completionHandler:];
-[VZStorageDeviceConfiguration _initWithAttachment:];
-[VZStorageDeviceConfiguration _localFileSystemResources];
-[VZStorageDeviceConfiguration encodeWithEncoder:];
@end

@interface VZUSBKeyboardConfiguration : VZKeyboardConfiguration {
/* instance methods */
-[VZUSBKeyboardConfiguration copyWithZone:];
-[VZUSBKeyboardConfiguration init];
-[VZUSBKeyboardConfiguration _keyboardWithDeviceIdentifier:];
-[VZUSBKeyboardConfiguration encodeWithEncoder:];
-[VZUSBKeyboardConfiguration makeKeyboardForVirtualMachine:deviceIdentifier:];
@end

@interface VZUSBMassStorageDeviceConfiguration : VZStorageDeviceConfiguration {
/* instance methods */
-[VZUSBMassStorageDeviceConfiguration copyWithZone:];
-[VZUSBMassStorageDeviceConfiguration initWithAttachment:];
-[VZUSBMassStorageDeviceConfiguration _getStorageDeviceWithQueue:session:completionHandler:];
-[VZUSBMassStorageDeviceConfiguration encodeWithEncoder:];
@end

@interface VZUSBScreenCoordinatePointingDeviceConfiguration : VZPointingDeviceConfiguration {
/* instance methods */
-[VZUSBScreenCoordinatePointingDeviceConfiguration copyWithZone:];
-[VZUSBScreenCoordinatePointingDeviceConfiguration init];
-[VZUSBScreenCoordinatePointingDeviceConfiguration _pointingDevice];
-[VZUSBScreenCoordinatePointingDeviceConfiguration encodeWithEncoder:];
-[VZUSBScreenCoordinatePointingDeviceConfiguration makePointingDeviceForVirtualMachine:pointingDeviceIndex:];
@end

@interface VZVirtioBlockDeviceConfiguration : VZStorageDeviceConfiguration {
  /* instance variables */            // +size   offset
  @"NSString" _blockDeviceIdentifier; // +0x8    0x10
  i _type;                            // +0x4    0x18
}

@property (T@"NSString",C) blockDeviceIdentifier;

/* class methods */
+[VZVirtioBlockDeviceConfiguration validateBlockDeviceIdentifier:error:];

/* instance methods */
-[VZVirtioBlockDeviceConfiguration copyWithZone:];
-[VZVirtioBlockDeviceConfiguration .cxx_destruct];
-[VZVirtioBlockDeviceConfiguration initWithAttachment:];
-[VZVirtioBlockDeviceConfiguration _getStorageDeviceWithQueue:session:completionHandler:];
-[VZVirtioBlockDeviceConfiguration blockDeviceIdentifier];
-[VZVirtioBlockDeviceConfiguration encodeWithEncoder:];
-[VZVirtioBlockDeviceConfiguration setBlockDeviceIdentifier:];
@end

@interface VZVirtioConsoleDevice : VZConsoleDevice {
  /* instance variables */                                                                                                                                                                                                                                                                                  // +size   offset
  @"<VZVirtioConsoleDeviceDelegate>" _delegate;                                                                                                                                                                                                                                                             // +0x8    0x18
  @"VZVirtioConsolePortArray" _ports;                                                                                                                                                                                                                                                                       // +0x8    0x20
  {vector<__weak id<VZVirtioConsoleDeviceDelegate>, std::allocator<__weak id<VZVirtioConsoleDeviceDelegate>>>="__begin_"^@"__end_"^@"__end_cap_"{__compressed_pair<__weak id<VZVirtioConsoleDeviceDelegate> *, std::allocator<__weak id<VZVirtioConsoleDeviceDelegate>>>="__value_"^@}} _internalDelegates; // +0x18   0x28
}

@property (T@"<VZVirtioConsoleDeviceDelegate>",W,V_delegate) delegate;
@property (T@"VZVirtioConsolePortArray",R,V_ports) ports;

/* instance methods */
-[VZVirtioConsoleDevice .cxx_destruct];
-[VZVirtioConsoleDevice delegate];
-[VZVirtioConsoleDevice setDelegate:];
-[VZVirtioConsoleDevice .cxx_construct];
-[VZVirtioConsoleDevice ports];
-[VZVirtioConsoleDevice initWithVirtualMachine:consoleDeviceIndex:configuration:];
@end

@interface VZVirtioConsoleDeviceConfiguration : VZConsoleDeviceConfiguration {
  /* instance variables */                         // +size   offset
  @"VZVirtioConsolePortConfigurationArray" _ports; // +0x8    0x8
}

@property (T@"VZVirtioConsolePortConfigurationArray",R,V_ports) ports;

/* instance methods */
-[VZVirtioConsoleDeviceConfiguration copyWithZone:];
-[VZVirtioConsoleDeviceConfiguration init];
-[VZVirtioConsoleDeviceConfiguration .cxx_destruct];
-[VZVirtioConsoleDeviceConfiguration validateWithError:];
-[VZVirtioConsoleDeviceConfiguration ports];
-[VZVirtioConsoleDeviceConfiguration _consoleDevice];
-[VZVirtioConsoleDeviceConfiguration encodeWithEncoder:];
-[VZVirtioConsoleDeviceConfiguration makeConsoleDeviceForVirtualMachine:consoleDeviceIndex:];
@end

@interface VZVirtioConsoleDeviceSerialPortConfiguration : VZSerialPortConfiguration {
/* class methods */
+[VZVirtioConsoleDeviceSerialPortConfiguration serialPortType];

/* instance methods */
-[VZVirtioConsoleDeviceSerialPortConfiguration init];
-[VZVirtioConsoleDeviceSerialPortConfiguration _serialPort];
-[VZVirtioConsoleDeviceSerialPortConfiguration encodeWithEncoder:];
@end

@interface VZVirtioConsolePort : NSObject {
  /* instance variables */               // +size   offset
  @"VZVirtualMachine" _virtualMachine;   // +0x8    0x8
  Q _consoleDeviceIndex;                 // +0x8    0x10
  Q _portIndex;                          // +0x8    0x18
  @"NSString" _name;                     // +0x8    0x20
  @"VZSerialPortAttachment" _attachment; // +0x8    0x28
}

@property (T@"NSString",R,C) name;
@property (T@"VZSerialPortAttachment",&) attachment;

/* instance methods */
-[VZVirtioConsolePort name];
-[VZVirtioConsolePort .cxx_destruct];
-[VZVirtioConsolePort attachment];
-[VZVirtioConsolePort setAttachment:];
@end

@interface VZVirtioConsolePortArray : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 // +size   offset
  {unordered_map<unsigned long, VZVirtioConsolePort *, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<const unsigned long, VZVirtioConsolePort *>>>="__table_"{__hash_table<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, std::hash<unsigned long>, std::equal_to<unsigned long>>, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, std::equal_to<unsigned long>, std::hash<unsigned long>>, std::allocator<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>>>="__bucket_list_"{unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> *>>>="__ptr_"{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> *>>>="__value_"^^v"__value_"{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> *>>="__data_"{__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *> *>>="__value_"Q}}}}"__p1_"{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *>>>="__value_"{__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, void *> *>="__next_"^v}}"__p2_"{__compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, std::hash<unsigned long>, std::equal_to<unsigned long>>>="__value_"Q}"__p3_"{__compressed_pair<float, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePort *>, std::equal_to<unsigned long>, std::hash<unsigned long>>>="__value_"f}}} _ports; // +0x28   0x8
  I _maximumPortCount;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     // +0x4    0x30
}

@property (TI,R,V_maximumPortCount) maximumPortCount;

/* instance methods */
-[VZVirtioConsolePortArray .cxx_destruct];
-[VZVirtioConsolePortArray objectAtIndexedSubscript:];
-[VZVirtioConsolePortArray .cxx_construct];
-[VZVirtioConsolePortArray maximumPortCount];
@end

@interface VZVirtioConsolePortConfiguration : VZConsolePortConfiguration<_VZVirtualMachineConfigurationEncodable> {
  /* instance variables */ // +size   offset
  B _isConsole;            // +0x1    0x10
  @"NSString" _name;       // +0x8    0x18
}

@property (T@"NSString",C,V_name) name;
@property (TB,V_isConsole) isConsole;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZVirtioConsolePortConfiguration copyWithZone:];
-[VZVirtioConsolePortConfiguration init];
-[VZVirtioConsolePortConfiguration name];
-[VZVirtioConsolePortConfiguration .cxx_destruct];
-[VZVirtioConsolePortConfiguration setName:];
-[VZVirtioConsolePortConfiguration encodeWithEncoder:];
-[VZVirtioConsolePortConfiguration isConsole];
-[VZVirtioConsolePortConfiguration setIsConsole:];
@end

@interface VZVirtioConsolePortConfigurationArray : NSObject<NSCopying> {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              // +size   offset
  @"NSNumber" _customMaximumPortCount;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  // +0x8    0x8
  {unordered_map<unsigned long, VZVirtioConsolePortConfiguration *, std::hash<unsigned long>, std::equal_to<unsigned long>, std::allocator<std::pair<const unsigned long, VZVirtioConsolePortConfiguration *>>>="__table_"{__hash_table<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, std::hash<unsigned long>, std::equal_to<unsigned long>>, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, std::equal_to<unsigned long>, std::hash<unsigned long>>, std::allocator<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>>>="__bucket_list_"{unique_ptr<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> *[], std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> *>>>="__ptr_"{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> **, std::__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> *>>>="__value_"^^v"__value_"{__bucket_list_deallocator<std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> *>>="__data_"{__compressed_pair<unsigned long, std::allocator<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *> *>>="__value_"Q}}}}"__p1_"{__compressed_pair<std::__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *>, std::allocator<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *>>>="__value_"{__hash_node_base<std::__hash_node<std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, void *> *>="__next_"^v}}"__p2_"{__compressed_pair<unsigned long, std::__unordered_map_hasher<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, std::hash<unsigned long>, std::equal_to<unsigned long>>>="__value_"Q}"__p3_"{__compressed_pair<float, std::__unordered_map_equal<unsigned long, std::__hash_value_type<unsigned long, VZVirtioConsolePortConfiguration *>, std::equal_to<unsigned long>, std::hash<unsigned long>>>="__value_"f}}} _ports; // +0x28   0x10
}

@property (TI) maximumPortCount;

/* instance methods */
-[VZVirtioConsolePortConfigurationArray copyWithZone:];
-[VZVirtioConsolePortConfigurationArray .cxx_destruct];
-[VZVirtioConsolePortConfigurationArray objectAtIndexedSubscript:];
-[VZVirtioConsolePortConfigurationArray setObject:atIndexedSubscript:];
-[VZVirtioConsolePortConfigurationArray .cxx_construct];
-[VZVirtioConsolePortConfigurationArray maximumPortCount];
-[VZVirtioConsolePortConfigurationArray setMaximumPortCount:];
@end

@interface VZVirtioEntropyDeviceConfiguration : VZEntropyDeviceConfiguration {
/* instance methods */
-[VZVirtioEntropyDeviceConfiguration copyWithZone:];
-[VZVirtioEntropyDeviceConfiguration init];
-[VZVirtioEntropyDeviceConfiguration _entropyDevice];
-[VZVirtioEntropyDeviceConfiguration encodeWithEncoder:];
@end

@interface VZVirtioFileSystemDevice : VZDirectorySharingDevice {
  /* instance variables */                                                                                    // +size   offset
  @"VZVirtioFileSystemDeviceConfiguration" _configuration;                                                    // +0x8    0x18
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue; // +0x8    0x20
}

@property (T@"NSString",R,C) tag;
@property (T@"VZDirectoryShare",&) share;

/* instance methods */
-[VZVirtioFileSystemDevice .cxx_destruct];
-[VZVirtioFileSystemDevice .cxx_construct];
-[VZVirtioFileSystemDevice tag];
-[VZVirtioFileSystemDevice share];
-[VZVirtioFileSystemDevice setShare:];
@end

@interface VZVirtioFileSystemDeviceConfiguration : VZDirectorySharingDeviceConfiguration {
  /* instance variables */    // +size   offset
  @"NSString" _tag;           // +0x8    0x8
  @"VZDirectoryShare" _share; // +0x8    0x10
}

@property (T@"NSString",C) tag;
@property (T@"VZDirectoryShare",&,V_share) share;

/* class methods */
+[VZVirtioFileSystemDeviceConfiguration macOSGuestAutomountTag];
+[VZVirtioFileSystemDeviceConfiguration validateTag:error:];

/* instance methods */
-[VZVirtioFileSystemDeviceConfiguration copyWithZone:];
-[VZVirtioFileSystemDeviceConfiguration .cxx_destruct];
-[VZVirtioFileSystemDeviceConfiguration setTag:];
-[VZVirtioFileSystemDeviceConfiguration initWithTag:];
-[VZVirtioFileSystemDeviceConfiguration tag];
-[VZVirtioFileSystemDeviceConfiguration share];
-[VZVirtioFileSystemDeviceConfiguration setShare:];
-[VZVirtioFileSystemDeviceConfiguration _directorySharingDevice];
-[VZVirtioFileSystemDeviceConfiguration _makeDirectorySharingDeviceForVirtualMachine:directorySharingDeviceIndex:];
-[VZVirtioFileSystemDeviceConfiguration encodeWithEncoder:];
@end

@interface VZVirtioGraphicsDevice : VZGraphicsDevice {
@end

@interface VZVirtioGraphicsDeviceConfiguration : VZGraphicsDeviceConfiguration {
  /* instance variables */ // +size   offset
  @"NSArray" _scanouts;    // +0x8    0x8
}

@property (T@"NSArray",C,V_scanouts) scanouts;

/* instance methods */
-[VZVirtioGraphicsDeviceConfiguration copyWithZone:];
-[VZVirtioGraphicsDeviceConfiguration init];
-[VZVirtioGraphicsDeviceConfiguration .cxx_destruct];
-[VZVirtioGraphicsDeviceConfiguration validateWithError:];
-[VZVirtioGraphicsDeviceConfiguration _graphicsDevice];
-[VZVirtioGraphicsDeviceConfiguration encodeWithEncoder:];
-[VZVirtioGraphicsDeviceConfiguration makeGraphicsDeviceForVirtualMachine:graphicsDeviceIndex:];
-[VZVirtioGraphicsDeviceConfiguration scanouts];
-[VZVirtioGraphicsDeviceConfiguration setScanouts:];
@end

@interface VZVirtioGraphicsScanout : VZGraphicsDisplay {
  /* instance variables */                                // +size   offset
  @"VZVirtioGraphicsScanoutConfiguration" _configuration; // +0x8    0x78
}

/* instance methods */
-[VZVirtioGraphicsScanout .cxx_destruct];
-[VZVirtioGraphicsScanout _configuration];
-[VZVirtioGraphicsScanout _displayConfiguration];
-[VZVirtioGraphicsScanout sizeInPixels];
-[VZVirtioGraphicsScanout _matchesConfiguration:];
-[VZVirtioGraphicsScanout _matchesSize:];
-[VZVirtioGraphicsScanout reconfigureWithConfiguration:error:];
-[VZVirtioGraphicsScanout reconfigureWithSizeInPixels:error:];
@end

@interface VZVirtioGraphicsScanoutConfiguration : VZGraphicsDisplayConfiguration {
  /* instance variables */ // +size   offset
  q _widthInPixels;        // +0x8    0x8
  q _heightInPixels;       // +0x8    0x10
}

@property (Tq,V_widthInPixels) widthInPixels;
@property (Tq,V_heightInPixels) heightInPixels;

/* instance methods */
-[VZVirtioGraphicsScanoutConfiguration copyWithZone:];
-[VZVirtioGraphicsScanoutConfiguration heightInPixels];
-[VZVirtioGraphicsScanoutConfiguration initWithWidthInPixels:heightInPixels:];
-[VZVirtioGraphicsScanoutConfiguration setHeightInPixels:];
-[VZVirtioGraphicsScanoutConfiguration setWidthInPixels:];
-[VZVirtioGraphicsScanoutConfiguration widthInPixels];
@end

@interface VZVirtioNetworkDeviceConfiguration : VZNetworkDeviceConfiguration {
/* instance methods */
-[VZVirtioNetworkDeviceConfiguration init];
-[VZVirtioNetworkDeviceConfiguration _networkDevice];
-[VZVirtioNetworkDeviceConfiguration encodeWithEncoder:];
@end

@interface VZVirtioSocketConnection : NSObject {
  /* instance variables */                                                                                             // +size   offset
  {VirtioSocket="address"{Address="destination_port"I"source_port"I}"file_descriptor"{FileDescriptor="_fd"i}} _socket; // +0xc    0x8
}

@property (TI,R) destinationPort;
@property (TI,R) sourcePort;
@property (Ti,R) fileDescriptor;

/* instance methods */
-[VZVirtioSocketConnection dealloc];
-[VZVirtioSocketConnection .cxx_destruct];
-[VZVirtioSocketConnection close];
-[VZVirtioSocketConnection .cxx_construct];
-[VZVirtioSocketConnection fileDescriptor];
-[VZVirtioSocketConnection destinationPort];
-[VZVirtioSocketConnection sourcePort];
@end

@interface VZVirtioSocketDevice : VZSocketDevice {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             // +0x8    0x10
  Q _guestContextID;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      // +0x8    0x18
  {map<unsigned int, VZVirtioSocketListener *, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, VZVirtioSocketListener *>>>="__tree_"{__tree<std::__value_type<unsigned int, VZVirtioSocketListener *>, std::__map_value_compare<unsigned int, std::__value_type<unsigned int, VZVirtioSocketListener *>, std::less<unsigned int>>, std::allocator<std::__value_type<unsigned int, VZVirtioSocketListener *>>>="__begin_node_"^v"__pair1_"{__compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::__value_type<unsigned int, VZVirtioSocketListener *>, void *>>>="__value_"{__tree_end_node<std::__tree_node_base<void *> *>="__left_"^v}}"__pair3_"{__compressed_pair<unsigned long, std::__map_value_compare<unsigned int, std::__value_type<unsigned int, VZVirtioSocketListener *>, std::less<unsigned int>>>="__value_"Q}}} _listeners; // +0x18   0x20
  {vector<VZVirtioSocketConnection *__weak, std::allocator<VZVirtioSocketConnection *__weak>>="__begin_"^@"__end_"^@"__end_cap_"{__compressed_pair<VZVirtioSocketConnection *__weak *, std::allocator<VZVirtioSocketConnection *__weak>>="__value_"^@}} _guest_connections;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               // +0x18   0x38
  {vector<PendingGuestConnection, std::allocator<PendingGuestConnection>>="__begin_"^{PendingGuestConnection}"__end_"^{PendingGuestConnection}"__end_cap_"{__compressed_pair<PendingGuestConnection *, std::allocator<PendingGuestConnection>>="__value_"^{PendingGuestConnection}}} _pending_guest_connections;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          // +0x18   0x50
}

/* instance methods */
-[VZVirtioSocketDevice .cxx_destruct];
-[VZVirtioSocketDevice .cxx_construct];
-[VZVirtioSocketDevice connectToPort:completionHandler:];
-[VZVirtioSocketDevice removeSocketListenerForPort:];
-[VZVirtioSocketDevice setSocketListener:forPort:];
@end

@interface VZVirtioSocketDeviceConfiguration : VZSocketDeviceConfiguration {
/* instance methods */
-[VZVirtioSocketDeviceConfiguration init];
-[VZVirtioSocketDeviceConfiguration _socketDeviceWithIdentifier:];
-[VZVirtioSocketDeviceConfiguration encodeWithEncoder:];
-[VZVirtioSocketDeviceConfiguration makeSocketDeviceForVirtualMachine:identifier:];
@end

@interface VZVirtioSocketListener : NSObject {
  /* instance variables */                       // +size   offset
  @"<VZVirtioSocketListenerDelegate>" _delegate; // +0x8    0x8
}

@property (T@"<VZVirtioSocketListenerDelegate>",W,V_delegate) delegate;

/* instance methods */
-[VZVirtioSocketListener .cxx_destruct];
-[VZVirtioSocketListener delegate];
-[VZVirtioSocketListener setDelegate:];
@end

@interface VZVirtioSoundDeviceConfiguration : VZAudioDeviceConfiguration {
  /* instance variables */ // +size   offset
  @"NSArray" _streams;     // +0x8    0x10
}

@property (T@"NSArray",C) streams;

/* instance methods */
-[VZVirtioSoundDeviceConfiguration copyWithZone:];
-[VZVirtioSoundDeviceConfiguration init];
-[VZVirtioSoundDeviceConfiguration .cxx_destruct];
-[VZVirtioSoundDeviceConfiguration streams];
-[VZVirtioSoundDeviceConfiguration setStreams:];
-[VZVirtioSoundDeviceConfiguration _audioDevice];
-[VZVirtioSoundDeviceConfiguration _makeAudioDeviceForVirtualMachine:audioDeviceIndex:];
-[VZVirtioSoundDeviceConfiguration encodeWithEncoder:];
@end

@interface VZVirtioSoundDeviceInputStreamConfiguration : VZVirtioSoundDeviceStreamConfiguration {
  /* instance variables */             // +size   offset
  @"VZAudioInputStreamSource" _source; // +0x8    0x8
}

@property (T@"VZAudioInputStreamSource",&,V_source) source;

/* instance methods */
-[VZVirtioSoundDeviceInputStreamConfiguration copyWithZone:];
-[VZVirtioSoundDeviceInputStreamConfiguration init];
-[VZVirtioSoundDeviceInputStreamConfiguration .cxx_destruct];
-[VZVirtioSoundDeviceInputStreamConfiguration source];
-[VZVirtioSoundDeviceInputStreamConfiguration _stream];
-[VZVirtioSoundDeviceInputStreamConfiguration setSource:];
-[VZVirtioSoundDeviceInputStreamConfiguration encodeWithEncoder:];
@end

@interface VZVirtioSoundDeviceOutputStreamConfiguration : VZVirtioSoundDeviceStreamConfiguration {
  /* instance variables */          // +size   offset
  @"VZAudioOutputStreamSink" _sink; // +0x8    0x8
}

@property (T@"VZAudioOutputStreamSink",&,V_sink) sink;

/* instance methods */
-[VZVirtioSoundDeviceOutputStreamConfiguration copyWithZone:];
-[VZVirtioSoundDeviceOutputStreamConfiguration init];
-[VZVirtioSoundDeviceOutputStreamConfiguration .cxx_destruct];
-[VZVirtioSoundDeviceOutputStreamConfiguration _stream];
-[VZVirtioSoundDeviceOutputStreamConfiguration sink];
-[VZVirtioSoundDeviceOutputStreamConfiguration encodeWithEncoder:];
-[VZVirtioSoundDeviceOutputStreamConfiguration setSink:];
@end

@interface VZVirtioSoundDeviceStreamConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (T{Expected<VzCore::VirtualMachineConfiguration::AudioDevices::Stream, NSError *>=(storage<VzCore::VirtualMachineConfiguration::AudioDevices::Stream, NSError *>=c{Stream=i{optional<std::variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>>=(?=c{variant<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={__impl<VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::AudioDevices::Stream::Attachments::Host>={Host=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL>=))I}})B}}@)B},R) _stream;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[VZVirtioSoundDeviceStreamConfiguration copyWithZone:];
-[VZVirtioSoundDeviceStreamConfiguration _init];
-[VZVirtioSoundDeviceStreamConfiguration _stream];
-[VZVirtioSoundDeviceStreamConfiguration encodeWithEncoder:];
@end

@interface VZVirtioTraditionalMemoryBalloonDevice : VZMemoryBalloonDevice {
  /* instance variables */                                                                                    // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                        // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue; // +0x8    0x10
  Q _memoryBalloonDeviceIndex;                                                                                // +0x8    0x18
  Q _maxTargetVirtualMachineMemorySize;                                                                       // +0x8    0x20
  Q _targetVirtualMachineMemorySize;                                                                          // +0x8    0x28
}

@property (TQ,R) _maxTargetVirtualMachineMemorySize;
@property (TQ) targetVirtualMachineMemorySize;

/* instance methods */
-[VZVirtioTraditionalMemoryBalloonDevice .cxx_destruct];
-[VZVirtioTraditionalMemoryBalloonDevice .cxx_construct];
-[VZVirtioTraditionalMemoryBalloonDevice _maxTargetVirtualMachineMemorySize];
-[VZVirtioTraditionalMemoryBalloonDevice setTargetVirtualMachineMemorySize:];
-[VZVirtioTraditionalMemoryBalloonDevice targetVirtualMachineMemorySize];
@end

@interface VZVirtioTraditionalMemoryBalloonDeviceConfiguration : VZMemoryBalloonDeviceConfiguration {
  /* instance variables */            // +size   offset
  Q __targetVirtualMachineMemorySize; // +0x8    0x8
}

/* instance methods */
-[VZVirtioTraditionalMemoryBalloonDeviceConfiguration init];
-[VZVirtioTraditionalMemoryBalloonDeviceConfiguration _memoryBalloonDevice];
-[VZVirtioTraditionalMemoryBalloonDeviceConfiguration encodeWithEncoder:];
-[VZVirtioTraditionalMemoryBalloonDeviceConfiguration makeMemoryBalloonDeviceForVirtualMachine:memoryBalloonDeviceIndex:maxTargetMemorySize:];
@end

@interface VZVirtualMachine : NSObject {
  /* instance variables */                                                                                                                                                                // +size   offset
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;                                                                             // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _messenger_queue;                                                                   // +0x8    0x10
  @"NSObject<OS_xpc_object>" _connection;                                                                                                                                                 // +0x8    0x18
  {shared_ptr<Vz::SharedRamManager>="__ptr_"^{SharedRamManager}"__cntrl_"^{__shared_weak_count}} _shared_ram_manager;                                                                     // +0x10   0x20
  @"NSString" _name;                                                                                                                                                                      // +0x8    0x30
  @"NSString" _crashContextMessage;                                                                                                                                                       // +0x8    0x38
  @"VZVirtualMachineConfiguration" _configuration;                                                                                                                                        // +0x8    0x40
  @"NSArray" _audioDevices;                                                                                                                                                               // +0x8    0x48
  @"NSArray" _guestAgents;                                                                                                                                                                // +0x8    0x50
  @"NSArray" _keyboards;                                                                                                                                                                  // +0x8    0x58
  @"_VZKeyboard" _defaultKeyboard;                                                                                                                                                        // +0x8    0x60
  @"NSArray" _pointingDevices;                                                                                                                                                            // +0x8    0x68
  @"_VZPointingDevice" _defaultPointingDevice;                                                                                                                                            // +0x8    0x70
  @"NSArray" _multiTouchDevices;                                                                                                                                                          // +0x8    0x78
  @"NSArray" _storageDevices;                                                                                                                                                             // +0x8    0x80
  @"NSArray" _powerSourceDevices;                                                                                                                                                         // +0x8    0x88
  @"NSArray" _serialPorts;                                                                                                                                                                // +0x8    0x90
  @"NSArray" _consoleDevices;                                                                                                                                                             // +0x8    0x98
  {optional<_VZDebugStub *>=""(?="__null_state_"c"__val_"@"_VZDebugStub")"__engaged_"B} _debugStub;                                                                                       // +0x10   0xa0
  {optional<_VZVirtualMachineGraphicsOrientation>=""(?="__null_state_"c"__val_"q)"__engaged_"B} _graphicsOrientation;                                                                     // +0x10   0xb0
  {unique_ptr<MessengerImpl, std::default_delete<MessengerImpl>>="__ptr_"{__compressed_pair<MessengerImpl *, std::default_delete<MessengerImpl>>="__value_"^{MessengerImpl}}} _messenger; // +0x8    0xc0
  B __guestDidStopSeenDuringOperation;                                                                                                                                                    // +0x1    0xc8
  q _state;                                                                                                                                                                               // +0x8    0xd0
  @"<VZVirtualMachineDelegate>" _delegate;                                                                                                                                                // +0x8    0xd8
  @"NSArray" _directorySharingDevices;                                                                                                                                                    // +0x8    0xe0
  @"NSArray" _graphicsDevices;                                                                                                                                                            // +0x8    0xe8
  @"NSArray" _memoryBalloonDevices;                                                                                                                                                       // +0x8    0xf0
  @"NSArray" _networkDevices;                                                                                                                                                             // +0x8    0xf8
  @"NSArray" _socketDevices;                                                                                                                                                              // +0x8    0x100
}

@property (T@"VZVirtualMachineConfiguration",R,C) _currentConfiguration;
@property (T@"NSArray",R) _audioDevices;
@property (T@"NSArray",R) _keyboards;
@property (T@"NSArray",R) _pointingDevices;
@property (T@"NSArray",R) _multiTouchDevices;
@property (T@"NSArray",R) _powerSourceDevices;
@property (T@"NSArray",R) _storageDevices;
@property (T@"NSArray",R) _serialPorts;
@property (T@"_VZDebugStub",R) _debugStub;
@property (T@"NSString",R) _stateDescription;
@property (TB,R) _canCreateCore;
@property (T@"NSString",C,S_setName:) _name;
@property (T@"NSString",C,S_setCrashContextMessage:) _crashContextMessage;
@property (Ti,R) _serviceProcessIdentifier;
@property (Tq,V_state) state;
@property (T@"<VZVirtualMachineDelegate>",W,V_delegate) delegate;
@property (TB,R) canStart;
@property (TB,R) canStop;
@property (TB,R) canPause;
@property (TB,R) canResume;
@property (TB,R) canRequestStop;
@property (T@"NSArray",R,C,V_consoleDevices) consoleDevices;
@property (T@"NSArray",R,C,V_directorySharingDevices) directorySharingDevices;
@property (T@"NSArray",R,C,V_graphicsDevices) graphicsDevices;
@property (T@"NSArray",R,C,V_memoryBalloonDevices) memoryBalloonDevices;
@property (T@"NSArray",R,C,V_networkDevices) networkDevices;
@property (T@"NSArray",R,C,V_socketDevices) socketDevices;

/* class methods */
+[VZVirtualMachine isSupported];

/* instance methods */
-[VZVirtualMachine dealloc];
-[VZVirtualMachine .cxx_destruct];
-[VZVirtualMachine _name];
-[VZVirtualMachine delegate];
-[VZVirtualMachine setDelegate:];
-[VZVirtualMachine state];
-[VZVirtualMachine .cxx_construct];
-[VZVirtualMachine setState:];
-[VZVirtualMachine initWithConfiguration:];
-[VZVirtualMachine _serviceProcessIdentifier];
-[VZVirtualMachine _setName:];
-[VZVirtualMachine _currentConfiguration];
-[VZVirtualMachine startWithCompletionHandler:];
-[VZVirtualMachine startWithOptions:completionHandler:];
-[VZVirtualMachine _keyboards];
-[VZVirtualMachine _stateDescription];
-[VZVirtualMachine stopWithCompletionHandler:];
-[VZVirtualMachine resumeWithCompletionHandler:];
-[VZVirtualMachine canPause];
-[VZVirtualMachine _audioDevices];
-[VZVirtualMachine pauseWithCompletionHandler:];
-[VZVirtualMachine canStart];
-[VZVirtualMachine canStop];
-[VZVirtualMachine _invalidateConnection:];
-[VZVirtualMachine initWithConfiguration:queue:];
-[VZVirtualMachine _storageDevices];
-[VZVirtualMachine graphicsDevices];
-[VZVirtualMachine _canCreateCore];
-[VZVirtualMachine _canGetUSBControllerLocationID];
-[VZVirtualMachine _crashContextMessage];
-[VZVirtualMachine _createCoreWithCompletionHandler:];
-[VZVirtualMachine _debugStub];
-[VZVirtualMachine _getUSBControllerLocationIDWithCompletionHandler:];
-[VZVirtualMachine _multiTouchDevices];
-[VZVirtualMachine _pointingDevices];
-[VZVirtualMachine _powerSourceDevices];
-[VZVirtualMachine _serialPorts];
-[VZVirtualMachine _setCrashContextMessage:];
-[VZVirtualMachine canRequestStop];
-[VZVirtualMachine canResume];
-[VZVirtualMachine consoleDevices];
-[VZVirtualMachine directorySharingDevices];
-[VZVirtualMachine memoryBalloonDevices];
-[VZVirtualMachine networkDevices];
-[VZVirtualMachine requestStopWithError:];
-[VZVirtualMachine restoreMachineStateFromURL:completionHandler:];
-[VZVirtualMachine saveMachineStateToURL:completionHandler:];
-[VZVirtualMachine socketDevices];
@end

@interface VZVirtualMachineConfiguration : NSObject<NSCopying> {
  /* instance variables */                                                                                                                                                                             // +size   offset
  @"NSArray" _keyboards;                                                                                                                                                                               // +0x8    0x8
  @"VZPlatformConfiguration" _platform;                                                                                                                                                                // +0x8    0x10
  @"NSArray" _acceleratorDevices;                                                                                                                                                                      // +0x8    0x18
  @"NSArray" _powerSourceDevices;                                                                                                                                                                      // +0x8    0x20
  @"NSArray" _audioDevices;                                                                                                                                                                            // +0x8    0x28
  @"NSArray" _biometricDevices;                                                                                                                                                                        // +0x8    0x30
  @"NSArray" _directorySharingDevices;                                                                                                                                                                 // +0x8    0x38
  @"NSArray" _entropyDevices;                                                                                                                                                                          // +0x8    0x40
  @"NSArray" _memoryBalloonDevices;                                                                                                                                                                    // +0x8    0x48
  @"NSArray" _networkDevices;                                                                                                                                                                          // +0x8    0x50
  @"NSArray" _socketDevices;                                                                                                                                                                           // +0x8    0x58
  @"NSArray" _storageDevices;                                                                                                                                                                          // +0x8    0x60
  @"NSArray" _serialPorts;                                                                                                                                                                             // +0x8    0x68
  @"NSArray" _consoleDevices;                                                                                                                                                                          // +0x8    0x70
  @"NSArray" _graphicsDevices;                                                                                                                                                                         // +0x8    0x78
  @"NSArray" _pointingDevices;                                                                                                                                                                         // +0x8    0x80
  @"NSArray" _multiTouchDevices;                                                                                                                                                                       // +0x8    0x88
  @"NSArray" _customVirtioDevices;                                                                                                                                                                     // +0x8    0x90
  @"NSArray" _MMIODevices;                                                                                                                                                                             // +0x8    0x98
  @"_VZDebugStubConfiguration" _debugStub;                                                                                                                                                             // +0x8    0xa0
  @"_VZPanicDeviceConfiguration" _panicDevice;                                                                                                                                                         // +0x8    0xa8
  B _testIgnoreEntitlementChecks;                                                                                                                                                                      // +0x1    0xb0
  {optional<Base::DispatchGroup>=""(?="__null_state_"c"__val_"{DispatchGroup="_group"{CfPtr<NSObject<OS_dispatch_group> *>="_ptr"@"NSObject<OS_dispatch_group>"}})"__engaged_"B} _configuration_group; // +0x10   0xb8
  @"VZBootLoader" _bootLoader;                                                                                                                                                                         // +0x8    0xc8
  Q _memorySize;                                                                                                                                                                                       // +0x8    0xd0
  Q _CPUCount;                                                                                                                                                                                         // +0x8    0xd8
}

@property (T@"_VZDebugStubConfiguration",&,S_setDebugStub:) _debugStub;
@property (T@"_VZPanicDeviceConfiguration",&,S_setPanicDevice:) _panicDevice;
@property (T@"NSArray",C,S_setCustomVirtioDevices:) _customVirtioDevices;
@property (T@"NSArray",C,S_setAcceleratorDevices:) _acceleratorDevices;
@property (T@"NSArray",C,S_setBiometricDevices:) _biometricDevices;
@property (T@"NSArray",C,S_setPowerSourceDevices:) _powerSourceDevices;
@property (T@"NSArray",C,S_setMultiTouchDevices:) _multiTouchDevices;
@property (T@"NSArray",C,S_setMMIODevices:) _MMIODevices;
@property (T@"NSArray",R,C) _localFileSystemResources;
@property (TB,S_setTestIgnoreEntitlementChecks:) _testIgnoreEntitlementChecks;
@property (T@"VZBootLoader",&,V_bootLoader) bootLoader;
@property (TQ,V_memorySize) memorySize;
@property (TQ,V_CPUCount) CPUCount;
@property (T@"VZPlatformConfiguration",&,V_platform) platform;
@property (T@"NSArray",C) audioDevices;
@property (T@"NSArray",C) consoleDevices;
@property (T@"NSArray",C) directorySharingDevices;
@property (T@"NSArray",C) entropyDevices;
@property (T@"NSArray",C) memoryBalloonDevices;
@property (T@"NSArray",C) networkDevices;
@property (T@"NSArray",C) serialPorts;
@property (T@"NSArray",C) socketDevices;
@property (T@"NSArray",C) storageDevices;
@property (T@"NSArray",C) keyboards;
@property (T@"NSArray",C) pointingDevices;
@property (T@"NSArray",C) graphicsDevices;

/* class methods */
+[VZVirtualMachineConfiguration maximumAllowedCPUCount];
+[VZVirtualMachineConfiguration maximumAllowedMemorySize];
+[VZVirtualMachineConfiguration minimumAllowedCPUCount];
+[VZVirtualMachineConfiguration minimumAllowedMemorySize];

/* instance methods */
-[VZVirtualMachineConfiguration copyWithZone:];
-[VZVirtualMachineConfiguration init];
-[VZVirtualMachineConfiguration .cxx_destruct];
-[VZVirtualMachineConfiguration .cxx_construct];
-[VZVirtualMachineConfiguration platform];
-[VZVirtualMachineConfiguration memorySize];
-[VZVirtualMachineConfiguration setPlatform:];
-[VZVirtualMachineConfiguration validateWithError:];
-[VZVirtualMachineConfiguration audioDevices];
-[VZVirtualMachineConfiguration keyboards];
-[VZVirtualMachineConfiguration setKeyboards:];
-[VZVirtualMachineConfiguration CPUCount];
-[VZVirtualMachineConfiguration graphicsDevices];
-[VZVirtualMachineConfiguration pointingDevices];
-[VZVirtualMachineConfiguration setSerialPorts:];
-[VZVirtualMachineConfiguration _MMIODevices];
-[VZVirtualMachineConfiguration _acceleratorDevices];
-[VZVirtualMachineConfiguration _biometricDevices];
-[VZVirtualMachineConfiguration _customVirtioDevices];
-[VZVirtualMachineConfiguration _debugStub];
-[VZVirtualMachineConfiguration _localFileSystemResources];
-[VZVirtualMachineConfiguration _multiTouchDevices];
-[VZVirtualMachineConfiguration _panicDevice];
-[VZVirtualMachineConfiguration _powerSourceDevices];
-[VZVirtualMachineConfiguration _setAcceleratorDevices:];
-[VZVirtualMachineConfiguration _setBiometricDevices:];
-[VZVirtualMachineConfiguration _setCustomVirtioDevices:];
-[VZVirtualMachineConfiguration _setDebugStub:];
-[VZVirtualMachineConfiguration _setMMIODevices:];
-[VZVirtualMachineConfiguration _setMultiTouchDevices:];
-[VZVirtualMachineConfiguration _setPanicDevice:];
-[VZVirtualMachineConfiguration _setPowerSourceDevices:];
-[VZVirtualMachineConfiguration _setTestIgnoreEntitlementChecks:];
-[VZVirtualMachineConfiguration _testIgnoreEntitlementChecks];
-[VZVirtualMachineConfiguration bootLoader];
-[VZVirtualMachineConfiguration consoleDevices];
-[VZVirtualMachineConfiguration directorySharingDevices];
-[VZVirtualMachineConfiguration entropyDevices];
-[VZVirtualMachineConfiguration memoryBalloonDevices];
-[VZVirtualMachineConfiguration networkDevices];
-[VZVirtualMachineConfiguration serialPorts];
-[VZVirtualMachineConfiguration setAudioDevices:];
-[VZVirtualMachineConfiguration setBootLoader:];
-[VZVirtualMachineConfiguration setCPUCount:];
-[VZVirtualMachineConfiguration setConsoleDevices:];
-[VZVirtualMachineConfiguration setDirectorySharingDevices:];
-[VZVirtualMachineConfiguration setEntropyDevices:];
-[VZVirtualMachineConfiguration setGraphicsDevices:];
-[VZVirtualMachineConfiguration setMemoryBalloonDevices:];
-[VZVirtualMachineConfiguration setMemorySize:];
-[VZVirtualMachineConfiguration setNetworkDevices:];
-[VZVirtualMachineConfiguration setPointingDevices:];
-[VZVirtualMachineConfiguration setSocketDevices:];
-[VZVirtualMachineConfiguration setStorageDevices:];
-[VZVirtualMachineConfiguration socketDevices];
-[VZVirtualMachineConfiguration storageDevices];
-[VZVirtualMachineConfiguration validateSaveRestoreSupportWithError:];
@end

@interface VZVirtualMachineStartOptions : NSObject {
  /* instance variables */               // +size   offset
  q _fatalErrorAction;                   // +0x8    0x8
  q _panicAction;                        // +0x8    0x10
  q _restartAction;                      // +0x8    0x18
  @"NSArray" _delegatedExceptionClasses; // +0x8    0x20
}

@property (Tq,S_setFatalErrorAction:) _fatalErrorAction;
@property (Tq,S_setPanicAction:) _panicAction;
@property (Tq,S_setRestartAction:) _restartAction;
@property (T@"NSArray",C,S_setDelegatedExceptionClasses:) _delegatedExceptionClasses;
@property (T{StartOptions=BBBB},R) _startOptions;

/* instance methods */
-[VZVirtualMachineStartOptions init];
-[VZVirtualMachineStartOptions .cxx_destruct];
-[VZVirtualMachineStartOptions _restartAction];
-[VZVirtualMachineStartOptions _setRestartAction:];
-[VZVirtualMachineStartOptions _delegatedExceptionClasses];
-[VZVirtualMachineStartOptions _fatalErrorAction];
-[VZVirtualMachineStartOptions _panicAction];
-[VZVirtualMachineStartOptions _setDelegatedExceptionClasses:];
-[VZVirtualMachineStartOptions _setFatalErrorAction:];
-[VZVirtualMachineStartOptions _setPanicAction:];
-[VZVirtualMachineStartOptions _startOptions];
@end

@interface VZVirtualMachineView : NSView<VZGraphicsDisplayObserver> {
  /* instance variables */                                                                                                                                                                  // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                                                                                                      // +0x8    0x228
  @"VZGraphicsDisplay" _graphicsDisplay;                                                                                                                                                    // +0x8    0x230
  @"<_VZVirtualMachineViewDelegate>" _delegate;                                                                                                                                             // +0x8    0x238
  q _scaleMode;                                                                                                                                                                             // +0x8    0x240
  @"_VZFramebufferView" _framebufferView;                                                                                                                                                   // +0x8    0x248
  @ _resignKeyWindowObserver;                                                                                                                                                               // +0x8    0x250
  @ _becomeKeyWindowObserver;                                                                                                                                                               // +0x8    0x258
  @ _windowScreenChangeObserver;                                                                                                                                                            // +0x8    0x260
  @ _willEnterFullScreenObserver;                                                                                                                                                           // +0x8    0x268
  @ _didEnterFullScreenObserver;                                                                                                                                                            // +0x8    0x270
  @ _willExitFullScreenObserver;                                                                                                                                                            // +0x8    0x278
  @ _didExitFullScreenObserver;                                                                                                                                                             // +0x8    0x280
  @"NSScreen" _currentScreen;                                                                                                                                                               // +0x8    0x288
  B _isInFullScreenTransition;                                                                                                                                                              // +0x1    0x290
  @ _eventMonitor;                                                                                                                                                                          // +0x8    0x298
  @ _keyEventMonitor;                                                                                                                                                                       // +0x8    0x2a0
  @"VZObserverProxy" _virtualMachineObserver;                                                                                                                                               // +0x8    0x2a8
  @"NSTrackingArea" _trackingArea;                                                                                                                                                          // +0x8    0x2b0
  {vector<unsigned short, std::allocator<unsigned short>>="__begin_"^S"__end_"^S"__end_cap_"{__compressed_pair<unsigned short *, std::allocator<unsigned short>>="__value_"^S}} _keys_down; // +0x18   0x2b8
  B _capturesSystemKeys;                                                                                                                                                                    // +0x1    0x2d0
  B _guestIsUsingHostCursor;                                                                                                                                                                // +0x1    0x2d1
  @"NSCursor" _currentGuestCursor;                                                                                                                                                          // +0x8    0x2d8
  B _mouseIsInTrackingArea;                                                                                                                                                                 // +0x1    0x2e0
  B _virtualMachineIsRunning;                                                                                                                                                               // +0x1    0x2e1
  B _showsHostCursor;                                                                                                                                                                       // +0x1    0x2e2
  B _didAttemptDisplayReconfigurationBeforeDisplayIsCapable;                                                                                                                                // +0x1    0x2e3
  B _didResizeWhilePausedOrStopped;                                                                                                                                                         // +0x1    0x2e4
  B _automaticallyReconfiguresDisplay;                                                                                                                                                      // +0x1    0x2e5
  B _hasResizeVisualEffects;                                                                                                                                                                // +0x1    0x2e6
  {CGSize="width"d"height"d} _frameSizeStartingResize;                                                                                                                                      // +0x10   0x2e8
  {optional<_VZVirtualMachineViewScaleMode>=""(?="__null_state_"c"__val_"q)"__engaged_"B} _resizeOldScaleMode;                                                                              // +0x10   0x2f8
  @"CAFilter" _blurFilter;                                                                                                                                                                  // +0x8    0x308
  @"NSView" _crossfadeView;                                                                                                                                                                 // +0x8    0x310
  @"NSView" _backdropView;                                                                                                                                                                  // +0x8    0x318
}

@property (Tq,S_setScaleMode:) _scaleMode;
@property (T@"VZGraphicsDisplay",&,S_setGraphicsDisplay:) _graphicsDisplay;
@property (T@"<_VZVirtualMachineViewDelegate>",W,S_setDelegate:) _delegate;
@property (TB,R) _canGrabMouseInput;
@property (TB,R) _canReleaseMouseInput;
@property (T@"VZVirtualMachine",&) virtualMachine;
@property (TB) capturesSystemKeys;
@property (TB) automaticallyReconfiguresDisplay;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[VZVirtualMachineView initialize];

/* instance methods */
-[VZVirtualMachineView dealloc];
-[VZVirtualMachineView .cxx_destruct];
-[VZVirtualMachineView _delegate];
-[VZVirtualMachineView _setDelegate:];
-[VZVirtualMachineView initWithCoder:];
-[VZVirtualMachineView .cxx_construct];
-[VZVirtualMachineView layout];
-[VZVirtualMachineView observeValueForKeyPath:ofObject:change:context:];
-[VZVirtualMachineView otherMouseDown:];
-[VZVirtualMachineView rightMouseDown:];
-[VZVirtualMachineView acceptsFirstResponder];
-[VZVirtualMachineView becomeFirstResponder];
-[VZVirtualMachineView flagsChanged:];
-[VZVirtualMachineView initWithFrame:];
-[VZVirtualMachineView keyDown:];
-[VZVirtualMachineView keyUp:];
-[VZVirtualMachineView magnifyWithEvent:];
-[VZVirtualMachineView mouseDown:];
-[VZVirtualMachineView mouseDragged:];
-[VZVirtualMachineView mouseEntered:];
-[VZVirtualMachineView mouseExited:];
-[VZVirtualMachineView mouseMoved:];
-[VZVirtualMachineView mouseUp:];
-[VZVirtualMachineView otherMouseDragged:];
-[VZVirtualMachineView otherMouseUp:];
-[VZVirtualMachineView quickLookWithEvent:];
-[VZVirtualMachineView resignFirstResponder];
-[VZVirtualMachineView rightMouseDragged:];
-[VZVirtualMachineView rightMouseUp:];
-[VZVirtualMachineView rotateWithEvent:];
-[VZVirtualMachineView scrollWheel:];
-[VZVirtualMachineView smartMagnifyWithEvent:];
-[VZVirtualMachineView updateTrackingAreas];
-[VZVirtualMachineView viewDidEndLiveResize];
-[VZVirtualMachineView viewDidMoveToWindow];
-[VZVirtualMachineView viewWillMoveToWindow:];
-[VZVirtualMachineView viewWillStartLiveResize];
-[VZVirtualMachineView virtualMachine];
-[VZVirtualMachineView _scaleMode];
-[VZVirtualMachineView _grabMouseInput];
-[VZVirtualMachineView displayDidBeginReconfiguration:];
-[VZVirtualMachineView _canGrabMouseInput];
-[VZVirtualMachineView _canReleaseMouseInput];
-[VZVirtualMachineView _graphicsDisplay];
-[VZVirtualMachineView _releaseMouseInput];
-[VZVirtualMachineView _setGraphicsDisplay:];
-[VZVirtualMachineView _setScaleMode:];
-[VZVirtualMachineView automaticallyReconfiguresDisplay];
-[VZVirtualMachineView capturesSystemKeys];
-[VZVirtualMachineView displayDidEndReconfiguration:];
-[VZVirtualMachineView setAutomaticallyReconfiguresDisplay:];
-[VZVirtualMachineView setCapturesSystemKeys:];
-[VZVirtualMachineView setVirtualMachine:];
@end

@interface _VZ16550SerialPortConfiguration : VZSerialPortConfiguration {
/* class methods */
+[_VZ16550SerialPortConfiguration serialPortType];

/* instance methods */
-[_VZ16550SerialPortConfiguration init];
-[_VZ16550SerialPortConfiguration _serialPort];
-[_VZ16550SerialPortConfiguration encodeWithEncoder:];
@end

@interface _VZAcceleratorDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZAcceleratorDeviceConfiguration copyWithZone:];
-[_VZAcceleratorDeviceConfiguration _init];
-[_VZAcceleratorDeviceConfiguration _acceleratorDeviceWithPlatform:];
-[_VZAcceleratorDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZAppleTouchScreenConfiguration : _VZMultiTouchDeviceConfiguration {
/* instance methods */
-[_VZAppleTouchScreenConfiguration copyWithZone:];
-[_VZAppleTouchScreenConfiguration init];
-[_VZAppleTouchScreenConfiguration _multiTouchDevice];
-[_VZAppleTouchScreenConfiguration encodeWithEncoder:];
-[_VZAppleTouchScreenConfiguration makeMultiTouchDeviceForVirtualMachine:multiTouchDeviceIndex:];
@end

@interface _VZAudioDevice : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  Q _audioDeviceIndex;                 // +0x8    0x10
}

/* instance methods */
-[_VZAudioDevice .cxx_destruct];
-[_VZAudioDevice _initWithVirtualMachine:audioDeviceIndex:];
@end

@interface _VZBinaryBootLoader : VZBootLoader {
  /* instance variables */ // +size   offset
  @"NSArray" _segments;    // +0x8    0x8
  Q _entryPointAddress;    // +0x8    0x10
}

@property (T@"NSArray",R,V_segments) segments;
@property (TQ,R,V_entryPointAddress) entryPointAddress;

/* instance methods */
-[_VZBinaryBootLoader copyWithZone:];
-[_VZBinaryBootLoader .cxx_destruct];
-[_VZBinaryBootLoader segments];
-[_VZBinaryBootLoader validate];
-[_VZBinaryBootLoader _bootLoaderForConfiguration:];
-[_VZBinaryBootLoader _localFileSystemResources];
-[_VZBinaryBootLoader encodeWithEncoder:];
-[_VZBinaryBootLoader entryPointAddress];
-[_VZBinaryBootLoader initWithSegments:entryPointAddress:];
@end

@interface _VZBinaryBootLoaderSegment : NSObject<NSCopying> {
  /* instance variables */ // +size   offset
  @"NSURL" _binaryURL;     // +0x8    0x8
  Q _loadAddress;          // +0x8    0x10
}

@property (T@"NSURL",R,V_binaryURL) binaryURL;
@property (TQ,R,V_loadAddress) loadAddress;

/* instance methods */
-[_VZBinaryBootLoaderSegment copyWithZone:];
-[_VZBinaryBootLoaderSegment .cxx_destruct];
-[_VZBinaryBootLoaderSegment loadAddress];
-[_VZBinaryBootLoaderSegment binaryURL];
-[_VZBinaryBootLoaderSegment initWithBinaryURL:loadAddress:];
@end

@interface _VZBiometricDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZBiometricDeviceConfiguration copyWithZone:];
-[_VZBiometricDeviceConfiguration _init];
-[_VZBiometricDeviceConfiguration _biometricDeviceWithPlatform:];
-[_VZBiometricDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZCPUExitContext : NSObject {
  /* instance variables */                                                                                                                                                                                                                                  // +size   offset
  {unique_ptr<Vz::CpuExitContextMessenger, std::default_delete<Vz::CpuExitContextMessenger>>="__ptr_"{__compressed_pair<Vz::CpuExitContextMessenger *, std::default_delete<Vz::CpuExitContextMessenger>>="__value_"^{CpuExitContextMessenger}}} _messenger; // +0x8    0x8
  {CpuExitInfo="cpu_index"I"cpu_exit"{?="reason"I"exception"{?="syndrome"Q"virtual_address"Q"physical_address"Q}}} _cpuExitInfo;                                                                                                                            // +0x28   0x10
}

@property (TQ,R) CPUIndex;
@property (T{?=I{?=QQQ}},R) CPUExit;

/* instance methods */
-[_VZCPUExitContext .cxx_destruct];
-[_VZCPUExitContext invalidate];
-[_VZCPUExitContext .cxx_construct];
-[_VZCPUExitContext CPUExit];
-[_VZCPUExitContext CPUIndex];
-[_VZCPUExitContext getPhysicalAddress:forVirtualAddress:error:];
-[_VZCPUExitContext getRegister:value:error:];
-[_VZCPUExitContext getSIMDRegister:value:error:];
-[_VZCPUExitContext getSystemRegister:value:error:];
-[_VZCPUExitContext guestMemoryAtPhysicalAddress:length:error:];
-[_VZCPUExitContext setRegister:value:error:];
-[_VZCPUExitContext setSIMDRegister:value:error:];
-[_VZCPUExitContext setSystemRegister:value:error:];
@end

@interface _VZCustomMMIODevice : NSObject<_VZCustomMMIODeviceInterface, NSXPCListenerDelegate> {
  /* instance variables */                                                                                                                          // +size   offset
  @"NSXPCConnection" _connection;                                                                                                                   // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;                                       // +0x8    0x10
  {SharedRamManager="_shared_memory_map"{shared_ptr<Vz::SharedMemoryMap>="__ptr_"^{SharedMemoryMap}"__cntrl_"^{__shared_weak_count}}} _ram_manager; // +0x10   0x18
  @"<_VZCustomMMIODeviceDelegate>" _delegate;                                                                                                       // +0x8    0x28
  @"<_VZMMIOExtensionDeviceExtensionDelegate>" _extension_delegate;                                                                                 // +0x8    0x30
  AB _write_synchronously;                                                                                                                          // +0x1    0x38
}

@property (T@"<_VZCustomMMIODeviceDelegate>",W) delegate;
@property (T@"NSObject<OS_dispatch_queue>",R) deviceQueue;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[_VZCustomMMIODevice shouldAcceptConnection:delegate:];

/* instance methods */
-[_VZCustomMMIODevice .cxx_destruct];
-[_VZCustomMMIODevice delegate];
-[_VZCustomMMIODevice listener:shouldAcceptNewConnection:];
-[_VZCustomMMIODevice setDelegate:];
-[_VZCustomMMIODevice .cxx_construct];
-[_VZCustomMMIODevice deviceQueue];
-[_VZCustomMMIODevice guestRAMRegions];
-[_VZCustomMMIODevice guestMemoryAtPhysicalAddress:length:];
-[_VZCustomMMIODevice initDevice:mmioLength:writeSynchronously:RAMRegions:];
-[_VZCustomMMIODevice mmioRead:accessLength:reply:];
-[_VZCustomMMIODevice mmioWrite:accessLength:data:];
-[_VZCustomMMIODevice mmioWrite:accessLength:data:reply:];
-[_VZCustomMMIODevice pauseDevice:];
-[_VZCustomMMIODevice pulseIRQ:];
-[_VZCustomMMIODevice resetDevice:];
-[_VZCustomMMIODevice resumeDevice:];
-[_VZCustomMMIODevice setIRQ:value:];
-[_VZCustomMMIODevice startDevice:];
-[_VZCustomMMIODevice stopDevice:];
-[_VZCustomMMIODevice updateRAMRegions:reply:];
@end

@interface _VZCustomMMIODeviceConfiguration : _VZMMIODeviceConfiguration {
  /* instance variables */                                 // +size   offset
  @"NSXPCListener" _listener;                              // +0x8    0x18
  @"<_VZCustomMMIODeviceConfigurationDelegate>" _delegate; // +0x8    0x20
  @"NSObject<OS_dispatch_queue>" _deviceQueue;             // +0x8    0x28
}

@property (T@"<_VZCustomMMIODeviceConfigurationDelegate>",W,V_delegate) delegate;
@property (T@"NSObject<OS_dispatch_queue>",R,V_deviceQueue) deviceQueue;

/* instance methods */
-[_VZCustomMMIODeviceConfiguration copyWithZone:];
-[_VZCustomMMIODeviceConfiguration .cxx_destruct];
-[_VZCustomMMIODeviceConfiguration delegate];
-[_VZCustomMMIODeviceConfiguration setDelegate:];
-[_VZCustomMMIODeviceConfiguration deviceQueue];
-[_VZCustomMMIODeviceConfiguration _customMMIODevice];
-[_VZCustomMMIODeviceConfiguration initWithDeviceQueue:MMIORegions:interrupts:];
@end

@interface _VZCustomVirtioDevice : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                 // +size   offset
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _device_queue;                                                                                                                                                       // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _messenger_queue;                                                                                                                                                    // +0x8    0x10
  @"NSObject<OS_xpc_object>" _connection;                                                                                                                                                                                                                                  // +0x8    0x18
  Q _deviceIndex;                                                                                                                                                                                                                                                          // +0x8    0x20
  @"_VZCustomVirtioDeviceConfiguration" _configuration;                                                                                                                                                                                                                    // +0x8    0x28
  {unique_ptr<Vz::CustomVirtioDeviceManager, std::default_delete<Vz::CustomVirtioDeviceManager>>="__ptr_"{__compressed_pair<Vz::CustomVirtioDeviceManager *, std::default_delete<Vz::CustomVirtioDeviceManager>>="__value_"^{CustomVirtioDeviceManager}}} _device_manager; // +0x8    0x30
  {BitSet<unsigned int, 64UL>="_blocks"{array<unsigned int, 2UL>="__elems_"[2I]}} _driverFeatures;                                                                                                                                                                         // +0x8    0x38
  {vector<_VZVirtioQueue *, std::allocator<_VZVirtioQueue *>>="__begin_"^@"__end_"^@"__end_cap_"{__compressed_pair<_VZVirtioQueue *__strong *, std::allocator<_VZVirtioQueue *>>="__value_"^@}} _queues;                                                                   // +0x18   0x40
  @"NSObject<OS_xpc_object>" _anonymous_connection;                                                                                                                                                                                                                        // +0x8    0x58
  @"<_VZCustomVirtioDeviceDelegate>" _delegate;                                                                                                                                                                                                                            // +0x8    0x60
}

@property (T@"<_VZCustomVirtioDeviceDelegate>",W,V_delegate) delegate;

/* instance methods */
-[_VZCustomVirtioDevice dealloc];
-[_VZCustomVirtioDevice .cxx_destruct];
-[_VZCustomVirtioDevice delegate];
-[_VZCustomVirtioDevice setDelegate:];
-[_VZCustomVirtioDevice .cxx_construct];
-[_VZCustomVirtioDevice driverFeaturesAt:error:];
-[_VZCustomVirtioDevice guestMemoryAtPhysicalAddress:length:];
-[_VZCustomVirtioDevice queueAtIndex:];
-[_VZCustomVirtioDevice requestDeviceReset];
-[_VZCustomVirtioDevice updateDeviceSpecificConfiguration:completionHandler:];
@end

@interface _VZCustomVirtioDeviceConfiguration : NSObject<NSCopying> {
  /* instance variables */                                                                                  // +size   offset
  @"NSObject<OS_xpc_object>" _endpoint;                                                                     // +0x8    0x8
  I _customVirtioDeviceIndex;                                                                               // +0x4    0x10
  {BitSet<unsigned int, 64UL>="_blocks"{array<unsigned int, 2UL>="__elems_"[2I]}} _mandatoryDeviceFeatures; // +0x8    0x14
  {BitSet<unsigned int, 64UL>="_blocks"{array<unsigned int, 2UL>="__elems_"[2I]}} _optionalDeviceFeatures;  // +0x8    0x1c
  @"NSObject<OS_dispatch_queue>" _deviceQueue;                                                              // +0x8    0x28
  C _PCIClassID;                                                                                            // +0x1    0x30
  C _PCISubclassID;                                                                                         // +0x1    0x31
  S _deviceID;                                                                                              // +0x2    0x32
  S _virtioQueueCount;                                                                                      // +0x2    0x34
  @"_VZVirtioDeviceSpecificConfiguration" _deviceSpecificConfiguration;                                     // +0x8    0x38
  @"<_VZCustomVirtioDeviceConfigurationDelegate>" _delegate;                                                // +0x8    0x40
}

@property (TS,V_deviceID) deviceID;
@property (TC,V_PCIClassID) PCIClassID;
@property (TC,V_PCISubclassID) PCISubclassID;
@property (TS,V_virtioQueueCount) virtioQueueCount;
@property (T@"_VZVirtioDeviceSpecificConfiguration",&,V_deviceSpecificConfiguration) deviceSpecificConfiguration;
@property (T@"<_VZCustomVirtioDeviceConfigurationDelegate>",W,V_delegate) delegate;
@property (T@"NSObject<OS_dispatch_queue>",&) deviceQueue;

/* instance methods */
-[_VZCustomVirtioDeviceConfiguration copyWithZone:];
-[_VZCustomVirtioDeviceConfiguration init];
-[_VZCustomVirtioDeviceConfiguration .cxx_destruct];
-[_VZCustomVirtioDeviceConfiguration delegate];
-[_VZCustomVirtioDeviceConfiguration setDelegate:];
-[_VZCustomVirtioDeviceConfiguration .cxx_construct];
-[_VZCustomVirtioDeviceConfiguration deviceID];
-[_VZCustomVirtioDeviceConfiguration setDeviceID:];
-[_VZCustomVirtioDeviceConfiguration deviceQueue];
-[_VZCustomVirtioDeviceConfiguration PCIClassID];
-[_VZCustomVirtioDeviceConfiguration setDeviceQueue:];
-[_VZCustomVirtioDeviceConfiguration PCISubclassID];
-[_VZCustomVirtioDeviceConfiguration setDeviceSpecificConfiguration:];
-[_VZCustomVirtioDeviceConfiguration deviceSpecificConfiguration];
-[_VZCustomVirtioDeviceConfiguration mandatoryFeaturesAtIndex:];
-[_VZCustomVirtioDeviceConfiguration optionalFeaturesAtIndex:];
-[_VZCustomVirtioDeviceConfiguration setMandatoryFeatures:atIndex:];
-[_VZCustomVirtioDeviceConfiguration setOptionalFeatures:atIndex:];
-[_VZCustomVirtioDeviceConfiguration setPCIClassID:];
-[_VZCustomVirtioDeviceConfiguration setPCISubclassID:];
-[_VZCustomVirtioDeviceConfiguration setVirtioQueueCount:];
-[_VZCustomVirtioDeviceConfiguration virtioQueueCount];
@end

@interface _VZDebugStub : NSObject {
@property (T{Expected<VzCore::VirtualMachineConfiguration::DebugStub, NSError *>=(storage<VzCore::VirtualMachineConfiguration::DebugStub, NSError *>=c{DebugStub=i{FileDescriptor=i}}@)B},R) _debugStub;

/* instance methods */
-[_VZDebugStub _init];
-[_VZDebugStub _debugStub];
@end

@interface _VZDebugStubConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZDebugStubConfiguration copyWithZone:];
-[_VZDebugStubConfiguration _init];
-[_VZDebugStubConfiguration makeDebugStubForVirtualMachine:];
-[_VZDebugStubConfiguration encodeWithEncoder:];
@end

@interface _VZDiskImage : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                                      // +size   offset
  {Descriptor="format"^{DiskImageFormat}"parameters"{vector<Base::PropertyBag, std::allocator<Base::PropertyBag>>="__begin_"^{PropertyBag}"__end_"^{PropertyBag}"__end_cap_"{__compressed_pair<Base::PropertyBag *, std::allocator<Base::PropertyBag>>="__value_"^{PropertyBag}}}} _descriptor; // +0x20   0x8
  B _readOnly;                                                                                                                                                                                                                                                                                  // +0x1    0x28
  @"NSURL" _URL;                                                                                                                                                                                                                                                                                // +0x8    0x30
  q _cachingMode;                                                                                                                                                                                                                                                                               // +0x8    0x38
  q _synchronizationMode;                                                                                                                                                                                                                                                                       // +0x8    0x40
  q _backendType;                                                                                                                                                                                                                                                                               // +0x8    0x48
}

@property (Tq,R,V_backendType) backendType;
@property (T@"NSURL",R,C,V_URL) URL;
@property (TB,R,GisReadOnly,V_readOnly) readOnly;
@property (Tq,R,V_cachingMode) cachingMode;
@property (Tq,R,V_synchronizationMode) synchronizationMode;
@property (T@"NSString",R) identifier;

/* instance methods */
-[_VZDiskImage .cxx_destruct];
-[_VZDiskImage identifier];
-[_VZDiskImage .cxx_construct];
-[_VZDiskImage URL];
-[_VZDiskImage isReadOnly];
-[_VZDiskImage initWithURL:readOnly:error:];
-[_VZDiskImage backendType];
-[_VZDiskImage cachingMode];
-[_VZDiskImage initWithDescriptor:error:];
-[_VZDiskImage synchronizationMode];
@end

@interface _VZDiskImageDescriptor : NSObject {
  /* instance variables */ // +size   offset
  q _cachingMode;          // +0x8    0x8
  q _synchronizationMode;  // +0x8    0x10
  q _backendType;          // +0x8    0x18
  B _readOnly;             // +0x1    0x20
  @"NSURL" _URL;           // +0x8    0x28
}

@property (T@"NSURL",C,V_URL) URL;
@property (TB,GisReadOnly,V_readOnly) readOnly;
@property (Tq) cachingMode;
@property (Tq) synchronizationMode;

/* instance methods */
-[_VZDiskImageDescriptor .cxx_destruct];
-[_VZDiskImageDescriptor initWithURL:];
-[_VZDiskImageDescriptor URL];
-[_VZDiskImageDescriptor setURL:];
-[_VZDiskImageDescriptor isReadOnly];
-[_VZDiskImageDescriptor setReadOnly:];
-[_VZDiskImageDescriptor setBackendType:];
-[_VZDiskImageDescriptor setCachingMode:];
-[_VZDiskImageDescriptor backendType];
-[_VZDiskImageDescriptor cachingMode];
-[_VZDiskImageDescriptor setSynchronizationMode:];
-[_VZDiskImageDescriptor synchronizationMode];
@end

@interface _VZDiskImageFormat : NSObject {
  /* instance variables */        // +size   offset
  ^{DiskImageFormat=^^?} _format; // +0x8    0x8
  B _canCreateFixedDiskImages;    // +0x1    0x10
  B _canCreateDynamicDiskImages;  // +0x1    0x11
}

@property (T@"NSString",R) identifier;
@property (TB,R,V_canCreateFixedDiskImages) canCreateFixedDiskImages;
@property (TB,R,V_canCreateDynamicDiskImages) canCreateDynamicDiskImages;

/* class methods */
+[_VZDiskImageFormat supportedFormats];
+[_VZDiskImageFormat rawDiskImageFormat];

/* instance methods */
-[_VZDiskImageFormat identifier];
-[_VZDiskImageFormat canCreateDynamicDiskImages];
-[_VZDiskImageFormat canCreateFixedDiskImages];
-[_VZDiskImageFormat createDynamicDiskImageWithURL:suggestedSize:completionHandler:];
-[_VZDiskImageFormat createFixedDiskImageWithURL:suggestedSize:completionHandler:];
@end

@interface _VZFramebuffer : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                  // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                                                                                                                                                                                      // +0x8    0x8
  @"VZGraphicsDisplay" _display;                                                                                                                                                                                                                                            // +0x8    0x10
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;                                                                                                                                                               // +0x8    0x18
  Q _graphicsDeviceIndex;                                                                                                                                                                                                                                                   // +0x8    0x20
  Q _framebufferIndex;                                                                                                                                                                                                                                                      // +0x8    0x28
  Q _currentFrameRate;                                                                                                                                                                                                                                                      // +0x8    0x30
  {vector<FramebufferObserver, std::allocator<FramebufferObserver>>="__begin_"^{FramebufferObserver}"__end_"^{FramebufferObserver}"__end_cap_"{__compressed_pair<FramebufferObserver *, std::allocator<FramebufferObserver>>="__value_"^{FramebufferObserver}}} _observers; // +0x18   0x38
  {shared_ptr<const VzCore::Hardware::FrameUpdate>="__ptr_"^{FrameUpdate}"__cntrl_"^{__shared_weak_count}} _lastFrameUpdate;                                                                                                                                                // +0x10   0x50
  {shared_ptr<const VzCore::Hardware::CursorUpdate>="__ptr_"^{CursorUpdate}"__cntrl_"^{__shared_weak_count}} _lastCursorUpdate;                                                                                                                                             // +0x10   0x60
}

/* instance methods */
-[_VZFramebuffer .cxx_destruct];
-[_VZFramebuffer .cxx_construct];
@end

@interface _VZFramebufferView : NSView<CALayerDelegate, _VZFramebufferObserver> {
  /* instance variables */                                                                                                           // +size   offset
  @"_VZFramebuffer" _framebuffer;                                                                                                    // +0x8    0x228
  B _showsCursor;                                                                                                                    // +0x1    0x230
  B _suppressFrameUpdates;                                                                                                           // +0x1    0x231
  {CGSize="width"d"height"d} _framebufferSize;                                                                                       // +0x10   0x238
  @ _occlusionObserver;                                                                                                              // +0x8    0x248
  {shared_ptr<const VzCore::Hardware::FrameUpdate>="__ptr_"^{FrameUpdate}"__cntrl_"^{__shared_weak_count}} _lastNonEmptyFrameUpdate; // +0x10   0x250
  {optional<CGPoint>=""(?="__null_state_"c"__val_"{CGPoint="x"d"y"d})"__engaged_"B} _currentCursorPosition;                          // +0x18   0x260
  @"NSImageView" _cursorView;                                                                                                        // +0x8    0x278
  @"NSCursor" _unscaledCursor;                                                                                                       // +0x8    0x280
  d _scaleX;                                                                                                                         // +0x8    0x288
  d _scaleY;                                                                                                                         // +0x8    0x290
  {optional<_VZVirtualMachineGraphicsOrientation>=""(?="__null_state_"c"__val_"q)"__engaged_"B} _viewOrientation;                    // +0x10   0x298
  @"NSCursor" _cursor;                                                                                                               // +0x8    0x2a8
}

@property (T@"NSCursor",&,V_cursor) cursor;
@property (T@"_VZFramebuffer",&) framebuffer;
@property (TB) showsCursor;
@property (T{CGSize=dd},R) framebufferSize;
@property (TB) suppressFrameUpdates;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZFramebufferView .cxx_destruct];
-[_VZFramebufferView initWithCoder:];
-[_VZFramebufferView .cxx_construct];
-[_VZFramebufferView layout];
-[_VZFramebufferView cursor];
-[_VZFramebufferView actionForLayer:forKey:];
-[_VZFramebufferView initWithFrame:];
-[_VZFramebufferView setFrameSize:];
-[_VZFramebufferView setWantsLayer:];
-[_VZFramebufferView viewDidMoveToWindow];
-[_VZFramebufferView viewWillMoveToWindow:];
-[_VZFramebufferView setCursor:];
-[_VZFramebufferView setShowsCursor:];
-[_VZFramebufferView showsCursor];
-[_VZFramebufferView framebufferSize];
-[_VZFramebufferView framebuffer];
-[_VZFramebufferView setFramebuffer:];
-[_VZFramebufferView framebuffer:didUpdateCursor:];
-[_VZFramebufferView framebuffer:didUpdateFrame:];
-[_VZFramebufferView framebuffer:didUpdateGraphicsOrientation:];
-[_VZFramebufferView setSuppressFrameUpdates:];
-[_VZFramebufferView suppressFrameUpdates];
@end

@interface _VZGDBDebugStub : _VZDebugStub {
  /* instance variables */                // +size   offset
  B _listenOnAllNetworkInterfaces;        // +0x1    0x8
  S _port;                                // +0x2    0xa
  @"<_VZGDBDebugStubDelegate>" _delegate; // +0x8    0x10
}

@property (TS,R,V_port) port;
@property (T@"<_VZGDBDebugStubDelegate>",W,V_delegate) delegate;

/* instance methods */
-[_VZGDBDebugStub .cxx_destruct];
-[_VZGDBDebugStub delegate];
-[_VZGDBDebugStub port];
-[_VZGDBDebugStub setDelegate:];
-[_VZGDBDebugStub _debugStub];
-[_VZGDBDebugStub _prepareServerSocket];
@end

@interface _VZGDBDebugStubConfiguration : _VZDebugStubConfiguration {
  /* instance variables */          // +size   offset
  B _listensOnAllNetworkInterfaces; // +0x1    0x8
  S _port;                          // +0x2    0xa
}

@property (TS,V_port) port;
@property (TB,V_listensOnAllNetworkInterfaces) listensOnAllNetworkInterfaces;

/* instance methods */
-[_VZGDBDebugStubConfiguration copyWithZone:];
-[_VZGDBDebugStubConfiguration init];
-[_VZGDBDebugStubConfiguration port];
-[_VZGDBDebugStubConfiguration setPort:];
-[_VZGDBDebugStubConfiguration initWithPort:];
-[_VZGDBDebugStubConfiguration makeDebugStubForVirtualMachine:];
-[_VZGDBDebugStubConfiguration _makeDebugStub];
-[_VZGDBDebugStubConfiguration encodeWithEncoder:];
-[_VZGDBDebugStubConfiguration listensOnAllNetworkInterfaces];
-[_VZGDBDebugStubConfiguration setListensOnAllNetworkInterfaces:];
@end

@interface _VZGuestTraceEvent : NSObject {
/* instance methods */
-[_VZGuestTraceEvent _init];
@end

@interface _VZHostOnlyNetworkDeviceAttachment : VZNetworkDeviceAttachment {
/* instance methods */
-[_VZHostOnlyNetworkDeviceAttachment init];
-[_VZHostOnlyNetworkDeviceAttachment _attachment];
-[_VZHostOnlyNetworkDeviceAttachment encodeWithEncoder:];
@end

@interface _VZKeyEvent : NSObject {
  /* instance variables */ // +size   offset
  S _keyCode;              // +0x2    0x8
  q _type;                 // +0x8    0x10
}

@property (Tq,R,V_type) type;
@property (TS,R,V_keyCode) keyCode;

/* instance methods */
-[_VZKeyEvent type];
-[_VZKeyEvent keyCode];
-[_VZKeyEvent initWithEvent:];
-[_VZKeyEvent initWithType:keyCode:];
@end

@interface _VZKeyboard : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  I _deviceIdentifier;                 // +0x4    0x10
  q _type;                             // +0x8    0x18
  Q _activeIndicators;                 // +0x8    0x20
}

@property (Tq,R,V_type) type;
@property (TQ,R,V_activeIndicators) activeIndicators;

/* instance methods */
-[_VZKeyboard .cxx_destruct];
-[_VZKeyboard type];
-[_VZKeyboard activeIndicators];
-[_VZKeyboard initWithType:virtualMachine:deviceIdentifier:];
-[_VZKeyboard sendKeyEvents:];
@end

@interface _VZLinearFramebufferGraphicsDevice : VZGraphicsDevice {
@end

@interface _VZLinearFramebufferGraphicsDeviceConfiguration : VZGraphicsDeviceConfiguration {
  /* instance variables */                      // +size   offset
  {CGSize="width"d"height"d} _backingStoreSize; // +0x10   0x8
}

@property (T{CGSize=dd},V_backingStoreSize) backingStoreSize;

/* instance methods */
-[_VZLinearFramebufferGraphicsDeviceConfiguration copyWithZone:];
-[_VZLinearFramebufferGraphicsDeviceConfiguration validateWithError:];
-[_VZLinearFramebufferGraphicsDeviceConfiguration _graphicsDevice];
-[_VZLinearFramebufferGraphicsDeviceConfiguration backingStoreSize];
-[_VZLinearFramebufferGraphicsDeviceConfiguration encodeWithEncoder:];
-[_VZLinearFramebufferGraphicsDeviceConfiguration initWithBackingStoreSize:];
-[_VZLinearFramebufferGraphicsDeviceConfiguration makeGraphicsDeviceForVirtualMachine:graphicsDeviceIndex:];
-[_VZLinearFramebufferGraphicsDeviceConfiguration setBackingStoreSize:];
@end

@interface _VZLinearFramebufferGraphicsDisplay : VZGraphicsDisplay {
  /* instance variables */                  // +size   offset
  {CGSize="width"d"height"d} _sizeInPixels; // +0x10   0x78
}

/* instance methods */
-[_VZLinearFramebufferGraphicsDisplay _configuration];
-[_VZLinearFramebufferGraphicsDisplay _displayConfiguration];
-[_VZLinearFramebufferGraphicsDisplay sizeInPixels];
-[_VZLinearFramebufferGraphicsDisplay reconfigureWithConfiguration:error:];
-[_VZLinearFramebufferGraphicsDisplay reconfigureWithSizeInPixels:error:];
@end

@interface _VZMMIODeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */ // +size   offset
  @"NSArray" _MMIORegions; // +0x8    0x8
  @"NSArray" _irqs;        // +0x8    0x10
}

@property (T{Expected<VzCore::VirtualMachineConfiguration::CustomMmioDevice, NSError *>=(storage<VzCore::VirtualMachineConfiguration::CustomMmioDevice, NSError *>=c{CustomMmioDevice={variant<std::string, Base::Endpoint, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>={__impl<std::string, Base::Endpoint, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>=(__union<std::__variant_detail::_Trait::_Available, 0UL, std::string, Base::Endpoint, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>=c{__alt<0UL, std::string>={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, Base::Endpoint, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>=c{__alt<1UL, Base::Endpoint>={Endpoint={CfPtr<NSObject<OS_xpc_object> *>=@}}}(__union<std::__variant_detail::_Trait::_Available, 2UL, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>=c{__alt<2UL, VzCore::VirtualMachineConfiguration::CustomMmioDevice::XpcService>={XpcService={basic_string<char, std::char_traits<char>, std::allocator<char>>={__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>={__rep=(?={__long=*Qb63b1}{__short=[23c][0C]b7b1}{__raw=[3Q]})}}}}}(__union<std::__variant_detail::_Trait::_Available, 3UL>=))))I}}{vector<VzCore::VirtualMachineConfiguration::CustomMmioDevice::MmioRegion, std::allocator<VzCore::VirtualMachineConfiguration::CustomMmioDevice::MmioRegion>>=^{MmioRegion}^{MmioRegion}{__compressed_pair<VzCore::VirtualMachineConfiguration::CustomMmioDevice::MmioRegion *, std::allocator<VzCore::VirtualMachineConfiguration::CustomMmioDevice::MmioRegion>>=^{MmioRegion}}}{vector<unsigned int, std::allocator<unsigned int>>=^I^I{__compressed_pair<unsigned int *, std::allocator<unsigned int>>=^I}}}@)B},R) _customMMIODevice;
@property (T@"NSArray",R,C,V_MMIORegions) MMIORegions;
@property (T@"NSArray",R,C,V_irqs) irqs;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMMIODeviceConfiguration copyWithZone:];
-[_VZMMIODeviceConfiguration .cxx_destruct];
-[_VZMMIODeviceConfiguration validateWithError:];
-[_VZMMIODeviceConfiguration MMIORegions];
-[_VZMMIODeviceConfiguration _customMMIODevice];
-[_VZMMIODeviceConfiguration _initWithMMIORegions:interrupts:];
-[_VZMMIODeviceConfiguration encodeWithEncoder:];
-[_VZMMIODeviceConfiguration irqs];
@end

@interface _VZMMIOExtensionDeviceConfiguration : _VZMMIODeviceConfiguration {
  /* instance variables */ // +size   offset
  @"NSString" _bundleName; // +0x8    0x18
}

@property (T@"NSString",R,C,V_bundleName) bundleName;

/* instance methods */
-[_VZMMIOExtensionDeviceConfiguration copyWithZone:];
-[_VZMMIOExtensionDeviceConfiguration .cxx_destruct];
-[_VZMMIOExtensionDeviceConfiguration bundleName];
-[_VZMMIOExtensionDeviceConfiguration validateWithError:];
-[_VZMMIOExtensionDeviceConfiguration _customMMIODevice];
-[_VZMMIOExtensionDeviceConfiguration encodeWithEncoder:];
-[_VZMMIOExtensionDeviceConfiguration initWithBundleName:MMIORegions:interrupts:];
@end

@interface _VZMMIORegion : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
  /* instance variables */ // +size   offset
  B _writeSynchronously;   // +0x1    0x8
  Q _baseAddress;          // +0x8    0x10
  Q _length;               // +0x8    0x18
}

@property (TQ,R,V_baseAddress) baseAddress;
@property (TQ,R,V_length) length;
@property (TB,R,V_writeSynchronously) writeSynchronously;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMMIORegion copyWithZone:];
-[_VZMMIORegion length];
-[_VZMMIORegion baseAddress];
-[_VZMMIORegion encodeWithEncoder:];
-[_VZMMIORegion initWithBaseAddress:length:];
-[_VZMMIORegion initWithBaseAddress:length:writeSynchronously:];
-[_VZMMIORegion writeSynchronously];
@end

@interface _VZMMIOXPCServiceDeviceConfiguration : _VZMMIODeviceConfiguration {
  /* instance variables */  // +size   offset
  @"NSString" _serviceName; // +0x8    0x18
}

@property (T@"NSString",R,C,V_serviceName) serviceName;

/* instance methods */
-[_VZMMIOXPCServiceDeviceConfiguration copyWithZone:];
-[_VZMMIOXPCServiceDeviceConfiguration .cxx_destruct];
-[_VZMMIOXPCServiceDeviceConfiguration serviceName];
-[_VZMMIOXPCServiceDeviceConfiguration validateWithError:];
-[_VZMMIOXPCServiceDeviceConfiguration _customMMIODevice];
-[_VZMMIOXPCServiceDeviceConfiguration encodeWithEncoder:];
-[_VZMMIOXPCServiceDeviceConfiguration initWithServiceName:MMIORegions:interrupts:];
@end

@interface _VZMacBatteryPowerSourceDevice : _VZPowerSourceDevice<_VZMacBatterySourceObserver> {
  /* instance variables */                                                                                    // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                        // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue; // +0x8    0x10
  Q _powerSourceDeviceIndex;                                                                                  // +0x8    0x18
  @"_VZMacBatterySource" _source;                                                                             // +0x8    0x20
}

@property (T@"_VZMacBatterySource",&) source;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMacBatteryPowerSourceDevice dealloc];
-[_VZMacBatteryPowerSourceDevice .cxx_destruct];
-[_VZMacBatteryPowerSourceDevice source];
-[_VZMacBatteryPowerSourceDevice .cxx_construct];
-[_VZMacBatteryPowerSourceDevice setSource:];
-[_VZMacBatteryPowerSourceDevice batterySource:didUpdateCharge:];
-[_VZMacBatteryPowerSourceDevice batterySource:didUpdateConnectivity:];
@end

@interface _VZMacBatteryPowerSourceDeviceConfiguration : _VZPowerSourceDeviceConfiguration {
  /* instance variables */        // +size   offset
  @"_VZMacBatterySource" _source; // +0x8    0x8
}

@property (T@"_VZMacBatterySource",&,V_source) source;

/* instance methods */
-[_VZMacBatteryPowerSourceDeviceConfiguration copyWithZone:];
-[_VZMacBatteryPowerSourceDeviceConfiguration init];
-[_VZMacBatteryPowerSourceDeviceConfiguration .cxx_destruct];
-[_VZMacBatteryPowerSourceDeviceConfiguration source];
-[_VZMacBatteryPowerSourceDeviceConfiguration setSource:];
-[_VZMacBatteryPowerSourceDeviceConfiguration _powerSourceDevice];
-[_VZMacBatteryPowerSourceDeviceConfiguration encodeWithEncoder:];
-[_VZMacBatteryPowerSourceDeviceConfiguration makePowerSourceDeviceForVirtualMachine:powerSourceDeviceIndex:];
@end

@interface _VZMacBatterySource : NSObject<_VZVirtualMachineConfigurationEncodable> {
@property (T{Expected<std::variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>, NSError *>=(storage<std::variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>, NSError *>=c{variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>={__impl<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin>={Darwin=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>={Synthetic=di}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 2UL>=)))I}}@)B},R) _source;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMacBatterySource _init];
-[_VZMacBatterySource _source];
-[_VZMacBatterySource registerObserver:];
-[_VZMacBatterySource unregisterObserver:];
-[_VZMacBatterySource encodeWithEncoder:];
@end

@interface _VZMacHardwareModelDescriptor : NSObject {
  /* instance variables */                                                                                                                                          // +size   offset
  {optional<unsigned int>=""(?="__null_state_"c"__val_"I)"__engaged_"B} _platformVersion;                                                                           // +0x8    0x8
  {optional<unsigned int>=""(?="__null_state_"c"__val_"I)"__engaged_"B} _boardID;                                                                                   // +0x8    0x10
  {optional<NSOperatingSystemVersion>=""(?="__null_state_"c"__val_"{?="majorVersion"q"minorVersion"q"patchVersion"q})"__engaged_"B} _minimumSupportedHostOSVersion; // +0x20   0x18
  q _isa;                                                                                                                                                           // +0x8    0x38
  I _variantID;                                                                                                                                                     // +0x4    0x40
  @"NSString" _variantName;                                                                                                                                         // +0x8    0x48
}

/* instance methods */
-[_VZMacHardwareModelDescriptor init];
-[_VZMacHardwareModelDescriptor .cxx_destruct];
-[_VZMacHardwareModelDescriptor .cxx_construct];
-[_VZMacHardwareModelDescriptor setPlatformVersion:];
-[_VZMacHardwareModelDescriptor setBoardID:];
-[_VZMacHardwareModelDescriptor setISA:];
-[_VZMacHardwareModelDescriptor setMinimumSupportedHostOSVersion:];
-[_VZMacHardwareModelDescriptor setVariantID:variantName:];
@end

@interface _VZMacHostBatterySource : _VZMacBatterySource {
/* instance methods */
-[_VZMacHostBatterySource init];
-[_VZMacHostBatterySource _source];
-[_VZMacHostBatterySource registerObserver:];
-[_VZMacHostBatterySource unregisterObserver:];
-[_VZMacHostBatterySource encodeWithEncoder:];
@end

@interface _VZMacNeuralEngineDeviceConfiguration : _VZAcceleratorDeviceConfiguration {
  /* instance variables */     // +size   offset
  B _signatureMismatchAllowed; // +0x1    0x8
}

@property (TB,G_isSignatureMismatchAllowed,S_setSignatureMismatchAllowed:) _signatureMismatchAllowed;

/* instance methods */
-[_VZMacNeuralEngineDeviceConfiguration copyWithZone:];
-[_VZMacNeuralEngineDeviceConfiguration init];
-[_VZMacNeuralEngineDeviceConfiguration _acceleratorDeviceWithPlatform:];
-[_VZMacNeuralEngineDeviceConfiguration _isSignatureMismatchAllowed];
-[_VZMacNeuralEngineDeviceConfiguration _setSignatureMismatchAllowed:];
-[_VZMacNeuralEngineDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZMacOSBootLoaderGuestTraceEvent : _VZGuestTraceEvent {
  /* instance variables */                                                              // +size   offset
  {AvpBreadcrumb="status"I"data"{array<unsigned int, 3UL>="__elems_"[3I]}} _breadcrumb; // +0x10   0x8
}

@property (TI,R) status;
@property (TI,R) data0;
@property (TI,R) data1;
@property (TI,R) data2;

/* instance methods */
-[_VZMacOSBootLoaderGuestTraceEvent status];
-[_VZMacOSBootLoaderGuestTraceEvent data1];
-[_VZMacOSBootLoaderGuestTraceEvent data2];
-[_VZMacOSBootLoaderGuestTraceEvent data0];
@end

@interface _VZMacSerialNumber : NSObject<NSCopying> {
  /* instance variables */                                                                      // +size   offset
  {AvpSerialNumber="_serial_number"{array<unsigned char, 10UL>="__elems_"[10C]}} _serialNumber; // +0xa    0x8
}

@property (T@"NSString",R,C) string;

/* instance methods */
-[_VZMacSerialNumber copyWithZone:];
-[_VZMacSerialNumber hash];
-[_VZMacSerialNumber isEqual:];
-[_VZMacSerialNumber string];
-[_VZMacSerialNumber initWithString:];
@end

@interface _VZMacSyntheticBatterySource : _VZMacBatterySource<_VZVirtualMachineConfigurationEncodable> {
  /* instance variables */                                                                                                                                                                                                                                                                  // +size   offset
  d _charge;                                                                                                                                                                                                                                                                                // +0x8    0x8
  q _connectivity;                                                                                                                                                                                                                                                                          // +0x8    0x10
  {Mutex="_unfair_lock"{os_unfair_lock_s="_os_unfair_lock_opaque"I}} _observers_lock;                                                                                                                                                                                                       // +0x4    0x18
  {vector<__weak id<_VZMacBatterySourceObserver>, std::allocator<__weak id<_VZMacBatterySourceObserver>>>="__begin_"^@"__end_"^@"__end_cap_"{__compressed_pair<__weak id<_VZMacBatterySourceObserver> *, std::allocator<__weak id<_VZMacBatterySourceObserver>>>="__value_"^@}} _observers; // +0x18   0x20
}

@property (Td) charge;
@property (Tq) connectivity;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMacSyntheticBatterySource init];
-[_VZMacSyntheticBatterySource .cxx_destruct];
-[_VZMacSyntheticBatterySource .cxx_construct];
-[_VZMacSyntheticBatterySource _source];
-[_VZMacSyntheticBatterySource registerObserver:];
-[_VZMacSyntheticBatterySource unregisterObserver:];
-[_VZMacSyntheticBatterySource charge];
-[_VZMacSyntheticBatterySource setCharge:];
-[_VZMacSyntheticBatterySource connectivity];
-[_VZMacSyntheticBatterySource encodeWithEncoder:];
-[_VZMacSyntheticBatterySource setConnectivity:];
@end

@interface _VZMacTouchIDDeviceConfiguration : _VZBiometricDeviceConfiguration {
/* instance methods */
-[_VZMacTouchIDDeviceConfiguration copyWithZone:];
-[_VZMacTouchIDDeviceConfiguration init];
-[_VZMacTouchIDDeviceConfiguration _biometricDeviceWithPlatform:];
-[_VZMacTouchIDDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZMacVideoToolboxDeviceConfiguration : _VZAcceleratorDeviceConfiguration {
/* class methods */
+[_VZMacVideoToolboxDeviceConfiguration _isSupported];

/* instance methods */
-[_VZMacVideoToolboxDeviceConfiguration copyWithZone:];
-[_VZMacVideoToolboxDeviceConfiguration init];
-[_VZMacVideoToolboxDeviceConfiguration _acceleratorDeviceWithPlatform:];
-[_VZMacVideoToolboxDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZMacWallPowerSourceDevice : _VZPowerSourceDevice {
@end

@interface _VZMacWallPowerSourceDeviceConfiguration : _VZPowerSourceDeviceConfiguration {
/* instance methods */
-[_VZMacWallPowerSourceDeviceConfiguration copyWithZone:];
-[_VZMacWallPowerSourceDeviceConfiguration init];
-[_VZMacWallPowerSourceDeviceConfiguration _powerSourceDevice];
-[_VZMacWallPowerSourceDeviceConfiguration encodeWithEncoder:];
-[_VZMacWallPowerSourceDeviceConfiguration makePowerSourceDeviceForVirtualMachine:powerSourceDeviceIndex:];
@end

@interface _VZMagnifyEvent : NSObject {
  /* instance variables */ // +size   offset
  d _magnification;        // +0x8    0x8
  Q _phase;                // +0x8    0x10
}

@property (Td,R,V_magnification) magnification;
@property (TQ,R,V_phase) phase;

/* instance methods */
-[_VZMagnifyEvent initWithEvent:];
-[_VZMagnifyEvent magnification];
-[_VZMagnifyEvent phase];
-[_VZMagnifyEvent initWithMagnification:phase:];
@end

@interface _VZMemory : NSObject {
  /* instance variables */                                                                                       // +size   offset
  {shared_ptr<Vz::SharedMemoryMap>="__ptr_"^{SharedMemoryMap}"__cntrl_"^{__shared_weak_count}} _sharedMemoryMap; // +0x10   0x8
  ^v _mutableBytes;                                                                                              // +0x8    0x18
  Q _physicalAddress;                                                                                            // +0x8    0x20
  Q _length;                                                                                                     // +0x8    0x28
}

@property (T^v,R,V_mutableBytes) mutableBytes;
@property (TQ,R,V_physicalAddress) physicalAddress;
@property (TQ,R,V_length) length;

/* instance methods */
-[_VZMemory length];
-[_VZMemory .cxx_destruct];
-[_VZMemory mutableBytes];
-[_VZMemory .cxx_construct];
-[_VZMemory physicalAddress];
@end

@interface _VZMouse : _VZPointingDevice {
/* class methods */
+[_VZMouse requiresGrabbingMouseInput];

/* instance methods */
-[_VZMouse sendMouseEvents:];
@end

@interface _VZMouseEvent : NSObject {
  /* instance variables */ // +size   offset
  q _pressedButtons;       // +0x8    0x8
  d _deltaX;               // +0x8    0x10
  d _deltaY;               // +0x8    0x18
}

/* instance methods */
-[_VZMouseEvent initWithPressedButtons:deltaX:deltaY:];
@end

@interface _VZMultiTouchDevice : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  Q _multiTouchDeviceIndex;            // +0x8    0x10
}

/* instance methods */
-[_VZMultiTouchDevice .cxx_destruct];
-[_VZMultiTouchDevice sendMultiTouchEvents:];
@end

@interface _VZMultiTouchDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (Ti,R) _multiTouchDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZMultiTouchDeviceConfiguration copyWithZone:];
-[_VZMultiTouchDeviceConfiguration _init];
-[_VZMultiTouchDeviceConfiguration _multiTouchDevice];
-[_VZMultiTouchDeviceConfiguration encodeWithEncoder:];
-[_VZMultiTouchDeviceConfiguration makeMultiTouchDeviceForVirtualMachine:multiTouchDeviceIndex:];
@end

@interface _VZMultiTouchEvent : NSObject {
  /* instance variables */ // +size   offset
  @"NSSet" _touches;       // +0x8    0x8
}

@property (T@"NSSet",R,C,V_touches) touches;

/* instance methods */
-[_VZMultiTouchEvent .cxx_destruct];
-[_VZMultiTouchEvent touches];
-[_VZMultiTouchEvent initWithEvent:view:];
-[_VZMultiTouchEvent initWithTouches:];
@end

@interface _VZPL011SerialPortConfiguration : VZSerialPortConfiguration {
  /* instance variables */ // +size   offset
  q _role;                 // +0x8    0x10
}

/* class methods */
+[_VZPL011SerialPortConfiguration serialPortType];

/* instance methods */
-[_VZPL011SerialPortConfiguration copyWithZone:];
-[_VZPL011SerialPortConfiguration init];
-[_VZPL011SerialPortConfiguration _serialPort];
-[_VZPL011SerialPortConfiguration encodeWithEncoder:];
@end

@interface _VZPanicDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZPanicDeviceConfiguration copyWithZone:];
-[_VZPanicDeviceConfiguration _init];
-[_VZPanicDeviceConfiguration _panicDevice];
-[_VZPanicDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZPointingDevice : NSObject {
  /* instance variables */             // +size   offset
  @"VZVirtualMachine" _virtualMachine; // +0x8    0x8
  Q _pointingDeviceIndex;              // +0x8    0x10
  q _type;                             // +0x8    0x18
}

@property (Tq,R,V_type) type;

/* class methods */
+[_VZPointingDevice requiresGrabbingMouseInput];

/* instance methods */
-[_VZPointingDevice .cxx_destruct];
-[_VZPointingDevice type];
-[_VZPointingDevice initWithType:virtualMachine:pointingDeviceIndex:];
-[_VZPointingDevice sendMagnifyEvents:];
-[_VZPointingDevice sendQuickLookEvents:];
-[_VZPointingDevice sendRotationEvents:];
-[_VZPointingDevice sendScrollWheelEvents:];
-[_VZPointingDevice sendSmartMagnifyEvents:];
@end

@interface _VZPowerSourceDevice : NSObject {
/* instance methods */
-[_VZPowerSourceDevice _init];
@end

@interface _VZPowerSourceDeviceConfiguration : NSObject<_VZVirtualMachineConfigurationEncodable, NSCopying> {
@property (T{Expected<VzCore::VirtualMachineConfiguration::PowerSourceDevice, NSError *>=(storage<VzCore::VirtualMachineConfiguration::PowerSourceDevice, NSError *>=c{PowerSourceDevice={variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Wall>={__impl<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Wall>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Wall>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery>={Battery={optional<std::variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>>=(?=c{variant<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>={__impl<VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=c{__alt<0UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Darwin>={Darwin=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Battery::Sources::Synthetic>={Synthetic=di}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 2UL>=)))I}})B}}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Wall>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::PowerSourceDevice::Types::Wall>={Wall=}}(__union<std::__variant_detail::_Trait::_TriviallyAvailable, 2UL>=)))I}}}@)B},R) _powerSourceDevice;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZPowerSourceDeviceConfiguration copyWithZone:];
-[_VZPowerSourceDeviceConfiguration _init];
-[_VZPowerSourceDeviceConfiguration _powerSourceDevice];
-[_VZPowerSourceDeviceConfiguration encodeWithEncoder:];
-[_VZPowerSourceDeviceConfiguration makePowerSourceDeviceForVirtualMachine:powerSourceDeviceIndex:];
@end

@interface _VZPvPanicDeviceConfiguration : _VZPanicDeviceConfiguration {
/* instance methods */
-[_VZPvPanicDeviceConfiguration copyWithZone:];
-[_VZPvPanicDeviceConfiguration init];
-[_VZPvPanicDeviceConfiguration _panicDevice];
-[_VZPvPanicDeviceConfiguration encodeWithEncoder:];
@end

@interface _VZQuickLookEvent : NSObject {
/* instance methods */
-[_VZQuickLookEvent initWithEvent:];
@end

@interface _VZRotationEvent : NSObject {
  /* instance variables */ // +size   offset
  d _rotation;             // +0x8    0x8
  Q _phase;                // +0x8    0x10
}

@property (Td,R,V_rotation) rotation;
@property (TQ,R,V_phase) phase;

/* instance methods */
-[_VZRotationEvent rotation];
-[_VZRotationEvent initWithEvent:];
-[_VZRotationEvent phase];
-[_VZRotationEvent initWithRotation:phase:];
@end

@interface _VZScreenCoordinatePointerEvent : NSObject {
  /* instance variables */      // +size   offset
  q _pressedButtons;            // +0x8    0x8
  {CGPoint="x"d"y"d} _location; // +0x10   0x10
}

@property (T{CGPoint=dd},R,V_location) location;
@property (Tq,R,V_pressedButtons) pressedButtons;

/* instance methods */
-[_VZScreenCoordinatePointerEvent location];
-[_VZScreenCoordinatePointerEvent initWithEvent:view:];
-[_VZScreenCoordinatePointerEvent initWithLocation:pressedButtons:];
-[_VZScreenCoordinatePointerEvent pressedButtons];
@end

@interface _VZScreenCoordinatePointingDevice : _VZPointingDevice {
/* class methods */
+[_VZScreenCoordinatePointingDevice requiresGrabbingMouseInput];

/* instance methods */
-[_VZScreenCoordinatePointingDevice sendPointerEvents:];
@end

@interface _VZScrollWheelEvent : NSObject {
  /* instance variables */       // +size   offset
  d _scrollingDeltaX;            // +0x8    0x8
  d _scrollingDeltaY;            // +0x8    0x10
  d _acceleratedScrollingDeltaX; // +0x8    0x18
  d _acceleratedScrollingDeltaY; // +0x8    0x20
  Q _scrollPhase;                // +0x8    0x28
  Q _momentumPhase;              // +0x8    0x30
}

@property (Td,R,V_scrollingDeltaX) scrollingDeltaX;
@property (Td,R,V_scrollingDeltaY) scrollingDeltaY;
@property (Td,R,V_acceleratedScrollingDeltaX) acceleratedScrollingDeltaX;
@property (Td,R,V_acceleratedScrollingDeltaY) acceleratedScrollingDeltaY;
@property (TQ,R,V_scrollPhase) scrollPhase;
@property (TQ,R,V_momentumPhase) momentumPhase;

/* instance methods */
-[_VZScrollWheelEvent scrollingDeltaY];
-[_VZScrollWheelEvent scrollingDeltaX];
-[_VZScrollWheelEvent initWithEvent:];
-[_VZScrollWheelEvent momentumPhase];
-[_VZScrollWheelEvent scrollPhase];
-[_VZScrollWheelEvent acceleratedScrollingDeltaX];
-[_VZScrollWheelEvent acceleratedScrollingDeltaY];
-[_VZScrollWheelEvent initWithScrollingDeltaX:scrollingDeltaY:acceleratedScrollingDeltaX:acceleratedScrollingDeltaY:scrollPhase:momentumPhase:];
@end

@interface _VZSerialPort : NSObject {
  /* instance variables */               // +size   offset
  @"VZVirtualMachine" _virtualMachine;   // +0x8    0x8
  Q _serialPortIndex;                    // +0x8    0x10
  @"VZSerialPortAttachment" _attachment; // +0x8    0x18
  q _type;                               // +0x8    0x20
}

@property (Tq,R,V_type) type;
@property (T@"VZSerialPortAttachment",&) attachment;

/* instance methods */
-[_VZSerialPort .cxx_destruct];
-[_VZSerialPort type];
-[_VZSerialPort attachment];
-[_VZSerialPort setAttachment:];
@end

@interface _VZSmartMagnifyEvent : NSObject {
/* instance methods */
-[_VZSmartMagnifyEvent initWithEvent:];
@end

@interface _VZSocketSerialPortAttachment : VZSerialPortAttachment {
  /* instance variables */                                                                        // +size   offset
  {sockaddr_storage="ss_len"C"ss_family"C"__ss_pad1"[6c]"__ss_align"q"__ss_pad2"[112c]} _address; // +0x80   0x8
  q _mode;                                                                                        // +0x8    0x88
}

@property (Tq,R,V_mode) mode;
@property (Tr^{sockaddr=CC[14c]},R) address;

/* instance methods */
-[_VZSocketSerialPortAttachment address];
-[_VZSocketSerialPortAttachment mode];
-[_VZSocketSerialPortAttachment _attachment];
-[_VZSocketSerialPortAttachment encodeWithEncoder:];
-[_VZSocketSerialPortAttachment initWithMode:address:];
@end

@interface _VZSpiceAgentCore : NSObject<NSPasteboardItemDataProvider> {
  /* instance variables */                                                                                             // +size   offset
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue;          // +0x8    0x8
  {FileDescriptor="_fd"i} _writesFd;                                                                                   // +0x4    0x10
  {FileDescriptor="_fd"i} _readsFd;                                                                                    // +0x4    0x14
  {DispatchSource="_source"{CfPtr<NSObject<OS_dispatch_source> *>="_ptr"@"NSObject<OS_dispatch_source>"}} _readSource; // +0x8    0x18
  B _readSourceActive;                                                                                                 // +0x1    0x20
  {MallocPtr<unsigned int>="_ptr"^I} _hostCapabilities;                                                                // +0x8    0x28
  @"_VZSpiceAgentCoreSession" _session;                                                                                // +0x8    0x30
  @"NSMutableDictionary" _supportedPasteboards;                                                                        // +0x8    0x38
}

@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* class methods */
+[_VZSpiceAgentCore initialize];

/* instance methods */
-[_VZSpiceAgentCore dealloc];
-[_VZSpiceAgentCore .cxx_destruct];
-[_VZSpiceAgentCore isValid];
-[_VZSpiceAgentCore resume];
-[_VZSpiceAgentCore .cxx_construct];
-[_VZSpiceAgentCore pause];
-[_VZSpiceAgentCore stop];
-[_VZSpiceAgentCore pasteboard:item:provideDataForType:];
-[_VZSpiceAgentCore didClosePort];
-[_VZSpiceAgentCore didOpenPort];
-[_VZSpiceAgentCore initWithPasteboard:queue:capabilities:input:output:];
@end

@interface _VZSpiceAgentCoreCapabilities : NSObject {
  /* instance variables */ // +size   offset
  B _clipboard;            // +0x1    0x8
}

@property (TB,V_clipboard) clipboard;

/* instance methods */
-[_VZSpiceAgentCoreCapabilities clipboard];
-[_VZSpiceAgentCoreCapabilities setClipboard:];
@end

@interface _VZSpiceAgentCorePasteboardItemState : NSObject {
  /* instance variables */                       // +size   offset
  @"NSPasteboardItem" _item;                     // +0x8    0x8
  @"NSObject<OS_dispatch_semaphore>" _semaphore; // +0x8    0x10
}

/* instance methods */
-[_VZSpiceAgentCorePasteboardItemState .cxx_destruct];
@end

@interface _VZSpiceAgentCorePasteboardState : NSObject {
  /* instance variables */     // +size   offset
  @"NSPasteboard" _pasteboard; // +0x8    0x8
  q _changeCount;              // +0x8    0x10
  q _generatedChangeCount;     // +0x8    0x18
  q _fulfilledChangeCount;     // +0x8    0x20
  @"NSDictionary" _items;      // +0x8    0x28
}

/* instance methods */
-[_VZSpiceAgentCorePasteboardState .cxx_destruct];
@end

@interface _VZSpiceAgentCoreSession : NSObject {
  /* instance variables */                          // +size   offset
  {MallocPtr<unsigned int>="_ptr"^I} _capabilities; // +0x8    0x8
  B _invalidated;                                   // +0x1    0x10
  I _pauseCount;                                    // +0x4    0x14
  i _maxClipboard;                                  // +0x4    0x18
  @"NSMutableDictionary" _pasteboardState;          // +0x8    0x20
  @"NSMutableData" _readBuffer;                     // +0x8    0x28
  @"NSMutableData" _messageBuffer;                  // +0x8    0x30
}

/* instance methods */
-[_VZSpiceAgentCoreSession init];
-[_VZSpiceAgentCoreSession .cxx_destruct];
-[_VZSpiceAgentCoreSession .cxx_construct];
@end

@interface _VZStorageDevice : NSObject {
  /* instance variables */                                                                                    // +size   offset
  @"VZVirtualMachine" _virtualMachine;                                                                        // +0x8    0x8
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _queue; // +0x8    0x10
  @"VZStorageDeviceAttachment" _attachment;                                                                   // +0x8    0x18
  Q _storageDeviceIndex;                                                                                      // +0x8    0x20
}

@property (T@"VZStorageDeviceAttachment",R) attachment;

/* instance methods */
-[_VZStorageDevice .cxx_destruct];
-[_VZStorageDevice .cxx_construct];
-[_VZStorageDevice attachment];
-[_VZStorageDevice setAttachment:completionHandler:];
@end

@interface _VZTouch : NSObject {
  /* instance variables */      // +size   offset
  C _index;                     // +0x1    0x8
  q _phase;                     // +0x8    0x10
  q _swipeAim;                  // +0x8    0x18
  d _timestamp;                 // +0x8    0x20
  {CGPoint="x"d"y"d} _location; // +0x10   0x28
}

@property (TC,R,V_index) index;
@property (Tq,R,V_phase) phase;
@property (T{CGPoint=dd},R,V_location) location;
@property (Tq,R,V_swipeAim) swipeAim;
@property (Td,R,V_timestamp) timestamp;

/* instance methods */
-[_VZTouch index];
-[_VZTouch location];
-[_VZTouch timestamp];
-[_VZTouch phase];
-[_VZTouch initWithView:index:phase:location:swipeAim:timestamp:];
-[_VZTouch swipeAim];
@end

@interface _VZUSBKeyboard : _VZKeyboard {
  /* instance variables */                      // +size   offset
  @"VZUSBKeyboardConfiguration" _configuration; // +0x8    0x28
}

/* instance methods */
-[_VZUSBKeyboard .cxx_destruct];
-[_VZUSBKeyboard initWithConfiguration:];
@end

@interface _VZUSBMouseConfiguration : VZPointingDeviceConfiguration {
/* instance methods */
-[_VZUSBMouseConfiguration copyWithZone:];
-[_VZUSBMouseConfiguration init];
-[_VZUSBMouseConfiguration _pointingDevice];
-[_VZUSBMouseConfiguration encodeWithEncoder:];
-[_VZUSBMouseConfiguration makePointingDeviceForVirtualMachine:pointingDeviceIndex:];
@end

@interface _VZUSBTouchScreenConfiguration : _VZMultiTouchDeviceConfiguration {
/* instance methods */
-[_VZUSBTouchScreenConfiguration copyWithZone:];
-[_VZUSBTouchScreenConfiguration init];
-[_VZUSBTouchScreenConfiguration _multiTouchDevice];
-[_VZUSBTouchScreenConfiguration encodeWithEncoder:];
-[_VZUSBTouchScreenConfiguration makeMultiTouchDeviceForVirtualMachine:multiTouchDeviceIndex:];
@end

@interface _VZVNCAuthenticationSecurityConfiguration : _VZVNCSecurityConfiguration {
  /* instance variables */ // +size   offset
  @"NSString" _password;   // +0x8    0x28
}

@property (T@"NSString",R,C,V_password) password;

/* instance methods */
-[_VZVNCAuthenticationSecurityConfiguration copyWithZone:];
-[_VZVNCAuthenticationSecurityConfiguration .cxx_destruct];
-[_VZVNCAuthenticationSecurityConfiguration password];
-[_VZVNCAuthenticationSecurityConfiguration initWithPassword:];
@end

@interface _VZVNCNoSecuritySecurityConfiguration : _VZVNCSecurityConfiguration {
/* instance methods */
-[_VZVNCNoSecuritySecurityConfiguration copyWithZone:];
-[_VZVNCNoSecuritySecurityConfiguration init];
@end

@interface _VZVNCSecurityConfiguration : NSObject<NSCopying> {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      // +size   offset
  {variant<Vnc::SecurityConfiguration::NoSecurity, Vnc::SecurityConfiguration::VncAuthentication>="__impl_"{__impl<Vnc::SecurityConfiguration::NoSecurity, Vnc::SecurityConfiguration::VncAuthentication>="__data"(__union<std::__variant_detail::_Trait::_Available, 0UL, Vnc::SecurityConfiguration::NoSecurity, Vnc::SecurityConfiguration::VncAuthentication>="__dummy"c"__head"{__alt<0UL, Vnc::SecurityConfiguration::NoSecurity>="__value"{NoSecurity=}}"__tail"(__union<std::__variant_detail::_Trait::_Available, 1UL, Vnc::SecurityConfiguration::VncAuthentication>="__dummy"c"__head"{__alt<1UL, Vnc::SecurityConfiguration::VncAuthentication>="__value"{VncAuthentication="password"{basic_string<char, std::char_traits<char>, std::allocator<char>>="__r_"{__compressed_pair<std::basic_string<char>::__rep, std::allocator<char>>="__value_"{__rep=""(?="__l"{__long="__data_"*"__size_"Q"__cap_"b63"__is_long_"b1}"__s"{__short="__data_"[23c]"__padding_"[0C]"__size_"b7"__is_long_"b1}"__r"{__raw="__words"[3Q]})}}}}}"__tail"(__union<std::__variant_detail::_Trait::_Available, 2UL>=)))"__index"I}} _configuration_type; // +0x20   0x8
}

/* instance methods */
-[_VZVNCSecurityConfiguration copyWithZone:];
-[_VZVNCSecurityConfiguration .cxx_destruct];
-[_VZVNCSecurityConfiguration .cxx_construct];
-[_VZVNCSecurityConfiguration _init];
@end

@interface _VZVNCServer : NSObject<_VZFramebufferObserver> {
  /* instance variables */                                                                                                                                                                                                                                                                      // +size   offset
  {Mutex="_unfair_lock"{os_unfair_lock_s="_os_unfair_lock_opaque"I}} _virtualMachineMutex;                                                                                                                                                                                                      // +0x4    0x8
  @"VZVirtualMachine" _virtualMachine;                                                                                                                                                                                                                                                          // +0x8    0x10
  @"_VZFramebuffer" _framebuffer;                                                                                                                                                                                                                                                               // +0x8    0x18
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _serverQueue;                                                                                                                                                                             // +0x8    0x20
  {unique_ptr<Vnc::Server, std::default_delete<Vnc::Server>>="__ptr_"{__compressed_pair<Vnc::Server *, std::default_delete<Vnc::Server>>="__value_"^{Server}}} _server;                                                                                                                         // +0x8    0x28
  {unique_ptr<(anonymous namespace)::ServerDelegate, std::default_delete<(anonymous namespace)::ServerDelegate>>="__ptr_"{__compressed_pair<(anonymous namespace)::ServerDelegate *, std::default_delete<(anonymous namespace)::ServerDelegate>>="__value_"^{ServerDelegate}}} _serverDelegate; // +0x8    0x30
  {DispatchQueue="_queue"{CfPtr<NSObject<OS_dispatch_queue> *>="_ptr"@"NSObject<OS_dispatch_queue>"}} _delegateQueue;                                                                                                                                                                           // +0x8    0x38
  {optional<Graphics::Size<unsigned int>>=""(?="__null_state_"c"__val_"{Size<unsigned int>="_width"I"_height"I})"__engaged_"B} _lastFramebufferSize;                                                                                                                                            // +0xc    0x40
  {optional<VzCore::Hardware::MultiTouchEvent::Touch>=""(?="__null_state_"c"__val_"{Touch="transducer_index"b6"phase"i"location"{Location="x"d"y"d}"swipe_aim"{OptionSet<VzCore::Hardware::MultiTouchEvent::Touch::SwipeAim>="_storage"I}"timestamp"d})"__engaged_"B} _currentTouch;            // +0x30   0x50
  q _state;                                                                                                                                                                                                                                                                                     // +0x8    0x80
  @"<_VZVNCServerDelegate>" _delegate;                                                                                                                                                                                                                                                          // +0x8    0x88
  @"_VZVNCSecurityConfiguration" _securityConfiguration;                                                                                                                                                                                                                                        // +0x8    0x90
}

@property (Tq,V_state) state;
@property (T@"<_VZVNCServerDelegate>",W,V_delegate) delegate;
@property (T@"NSObject<OS_dispatch_queue>",R) queue;
@property (TS,R) port;
@property (T@"_VZVNCSecurityConfiguration",R,C,V_securityConfiguration) securityConfiguration;
@property (T@"VZVirtualMachine",&) virtualMachine;
@property (TQ,R) hash;
@property (T#,R) superclass;
@property (T@"NSString",R,C) description;
@property (T@"NSString",R,C) debugDescription;

/* instance methods */
-[_VZVNCServer .cxx_destruct];
-[_VZVNCServer delegate];
-[_VZVNCServer port];
-[_VZVNCServer setDelegate:];
-[_VZVNCServer state];
-[_VZVNCServer .cxx_construct];
-[_VZVNCServer queue];
-[_VZVNCServer setState:];
-[_VZVNCServer start];
-[_VZVNCServer stop];
-[_VZVNCServer initWithPort:];
-[_VZVNCServer virtualMachine];
-[_VZVNCServer securityConfiguration];
-[_VZVNCServer framebuffer:didUpdateCursor:];
-[_VZVNCServer framebuffer:didUpdateFrame:];
-[_VZVNCServer framebuffer:didUpdateGraphicsOrientation:];
-[_VZVNCServer initWithBonjourServiceName:];
-[_VZVNCServer initWithBonjourServiceName:queue:];
-[_VZVNCServer initWithBonjourServiceName:queue:securityConfiguration:];
-[_VZVNCServer initWithPort:queue:];
-[_VZVNCServer initWithPort:queue:securityConfiguration:];
-[_VZVNCServer setVirtualMachine:];
@end

@interface _VZVirtioDeviceSpecificConfiguration : NSObject<NSCopying> {
@property (T{Expected<std::variant<std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, NSError *>=(storage<std::variant<std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, NSError *>=c{variant<std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>={__impl<std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>=(__union<std::__variant_detail::_Trait::_Available, 0UL, std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>=c{__alt<0UL, std::vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>>={vector<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration, std::allocator<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>>=^{DeviceSpecificConfiguration}^{DeviceSpecificConfiguration}{__compressed_pair<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration *, std::allocator<VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>>=^{DeviceSpecificConfiguration}}}}(__union<std::__variant_detail::_Trait::_Available, 1UL, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>=c{__alt<1UL, VzCore::VirtualMachineConfiguration::CustomVirtioDevice::DeviceSpecificConfigurations::DeviceSpecificConfiguration>={DeviceSpecificConfiguration={DynamicArray<unsigned char, 0UL>=Q{ConditionallyInlineBuffer<unsigned char, 0UL>={OutOfLineBuffer=*}}}}}(__union<std::__variant_detail::_Trait::_Available, 2UL>=)))I}}@)B},R) _configuration;

/* instance methods */
-[_VZVirtioDeviceSpecificConfiguration copyWithZone:];
-[_VZVirtioDeviceSpecificConfiguration _configuration];
-[_VZVirtioDeviceSpecificConfiguration _init];
@end

@interface _VZVirtioGenericDeviceSpecificConfiguration : _VZVirtioDeviceSpecificConfiguration {
  /* instance variables */      // +size   offset
  @"NSData" _configurationData; // +0x8    0x8
}

@property (T@"NSData",R,C,V_configurationData) configurationData;

/* instance methods */
-[_VZVirtioGenericDeviceSpecificConfiguration copyWithZone:];
-[_VZVirtioGenericDeviceSpecificConfiguration .cxx_destruct];
-[_VZVirtioGenericDeviceSpecificConfiguration _configuration];
-[_VZVirtioGenericDeviceSpecificConfiguration configurationData];
-[_VZVirtioGenericDeviceSpecificConfiguration initWithConfigurationData:];
@end

@interface _VZVirtioInputDeviceSpecificConfiguration : _VZVirtioDeviceSpecificConfiguration {
  /* instance variables */    // +size   offset
  @"NSArray" _configurations; // +0x8    0x8
}

@property (T@"NSArray",R,C) configurations;

/* instance methods */
-[_VZVirtioInputDeviceSpecificConfiguration copyWithZone:];
-[_VZVirtioInputDeviceSpecificConfiguration .cxx_destruct];
-[_VZVirtioInputDeviceSpecificConfiguration _configuration];
-[_VZVirtioInputDeviceSpecificConfiguration configurations];
-[_VZVirtioInputDeviceSpecificConfiguration initWithConfigurations:];
@end

@interface _VZVirtioMouseInputDeviceConfiguration : VZPointingDeviceConfiguration {
/* instance methods */
-[_VZVirtioMouseInputDeviceConfiguration copyWithZone:];
-[_VZVirtioMouseInputDeviceConfiguration init];
-[_VZVirtioMouseInputDeviceConfiguration _pointingDevice];
-[_VZVirtioMouseInputDeviceConfiguration encodeWithEncoder:];
-[_VZVirtioMouseInputDeviceConfiguration makePointingDeviceForVirtualMachine:pointingDeviceIndex:];
@end

@interface _VZVirtioQueue : NSObject {
  /* instance variables */                                                                                                                                                                                                                          // +size   offset
  {unique_ptr<VzCore::Hardware::VirtioQueue, std::default_delete<VzCore::Hardware::VirtioQueue>>="__ptr_"{__compressed_pair<VzCore::Hardware::VirtioQueue *, std::default_delete<VzCore::Hardware::VirtioQueue>>="__value_"^{VirtioQueue}}} _queue; // +0x8    0x8
  {shared_ptr<Vz::SharedMemoryMap>="__ptr_"^{SharedMemoryMap}"__cntrl_"^{__shared_weak_count}} _shared_memory_map;                                                                                                                                  // +0x10   0x10
  S _queueIndex;                                                                                                                                                                                                                                    // +0x2    0x20
}

@property (TS,R,V_queueIndex) queueIndex;

/* instance methods */
-[_VZVirtioQueue .cxx_destruct];
-[_VZVirtioQueue .cxx_construct];
-[_VZVirtioQueue nextElement];
-[_VZVirtioQueue queueIndex];
@end

@interface _VZVirtioQueueElement : NSObject {
  /* instance variables */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            // +size   offset
  {Element=""(?="split"{?="descriptor_index"S}"packed"{?="buffer_id"S"chained_descriptor_count"S})"bytes_written"I"guest_read_buffers"{GuestDescriptors="_elements"{vector<VzCore::Hardware::Virtio::GuestDescriptors::Element, std::allocator<VzCore::Hardware::Virtio::GuestDescriptors::Element>>="__begin_"^{Element}"__end_"^{Element}"__end_cap_"{__compressed_pair<VzCore::Hardware::Virtio::GuestDescriptors::Element *, std::allocator<VzCore::Hardware::Virtio::GuestDescriptors::Element>>="__value_"^{Element}}}}"guest_write_buffers"{GuestDescriptors="_elements"{vector<VzCore::Hardware::Virtio::GuestDescriptors::Element, std::allocator<VzCore::Hardware::Virtio::GuestDescriptors::Element>>="__begin_"^{Element}"__end_"^{Element}"__end_cap_"{__compressed_pair<VzCore::Hardware::Virtio::GuestDescriptors::Element *, std::allocator<VzCore::Hardware::Virtio::GuestDescriptors::Element>>="__value_"^{Element}}}}"read_buffers"{IoVector="_size"Q"_buffers"{vector<std::span<unsigned char>, std::allocator<std::span<unsigned char>>>="__begin_"^v"__end_"^v"__end_cap_"{__compressed_pair<std::span<unsigned char> *, std::allocator<std::span<unsigned char>>>="__value_"^v}}}"write_buffers"{IoVector="_size"Q"_buffers"{vector<std::span<unsigned char>, std::allocator<std::span<unsigned char>>>="__begin_"^v"__end_"^v"__end_cap_"{__compressed_pair<std::span<unsigned char> *, std::allocator<std::span<unsigned char>>>="__value_"^v}}}} _element; // +0x78   0x8
  {shared_ptr<Vz::SharedMemoryMap>="__ptr_"^{SharedMemoryMap}"__cntrl_"^{__shared_weak_count}} _shared_memory_map;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    // +0x10   0x80
  @"_VZVirtioQueue" _owningQueue;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     // +0x8    0x90
  B _has_been_returned;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               // +0x1    0x98
  Q _readBuffersByteCount;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            // +0x8    0xa0
  Q _writeBuffersByteCount;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           // +0x8    0xa8
  Q _writtenByteCount;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                // +0x8    0xb0
}

@property (TQ,R,V_readBuffersByteCount) readBuffersByteCount;
@property (TQ,R) readBuffersAvailableByteCount;
@property (TQ,R,V_writeBuffersByteCount) writeBuffersByteCount;
@property (TQ,R) writeBuffersAvailableByteCount;
@property (TQ,R,V_writtenByteCount) writtenByteCount;

/* instance methods */
-[_VZVirtioQueueElement dealloc];
-[_VZVirtioQueueElement .cxx_destruct];
-[_VZVirtioQueueElement .cxx_construct];
-[_VZVirtioQueueElement peekIntoReadBuffers:error:];
-[_VZVirtioQueueElement readBuffers];
-[_VZVirtioQueueElement readBuffersAvailableByteCount];
-[_VZVirtioQueueElement readBuffersByteCount];
-[_VZVirtioQueueElement readBytes:error:];
-[_VZVirtioQueueElement readBytesInto:length:error:];
-[_VZVirtioQueueElement returnToQueue];
-[_VZVirtioQueueElement write:error:];
-[_VZVirtioQueueElement writeBuffersAvailableByteCount];
-[_VZVirtioQueueElement writeBuffersByteCount];
-[_VZVirtioQueueElement writeData:length:error:];
-[_VZVirtioQueueElement writtenByteCount];
@end

@interface _VZVirtioSoundDevice : _VZAudioDevice {
  /* instance variables */                            // +size   offset
  @"VZVirtioSoundDeviceConfiguration" _configuration; // +0x8    0x18
}

/* instance methods */
-[_VZVirtioSoundDevice .cxx_destruct];
@end

@interface _VZVirtualMachineConfigurationDecoder : NSObject {
  /* instance variables */                                      // +size   offset
  @"NSURL" _baseURL;                                            // +0x8    0x8
  @"<_VZVirtualMachineConfigurationDecoderDelegate>" _delegate; // +0x8    0x10
}

@property (T@"<_VZVirtualMachineConfigurationDecoderDelegate>",W,V_delegate) delegate;

/* instance methods */
-[_VZVirtualMachineConfigurationDecoder .cxx_destruct];
-[_VZVirtualMachineConfigurationDecoder delegate];
-[_VZVirtualMachineConfigurationDecoder setDelegate:];
-[_VZVirtualMachineConfigurationDecoder initWithBaseURL:];
-[_VZVirtualMachineConfigurationDecoder configurationFromData:format:error:];
@end

@interface _VZVirtualMachineConfigurationEncoder : NSObject {
  /* instance variables */ // +size   offset
  @"NSURL" _baseURL;       // +0x8    0x8
}

/* instance methods */
-[_VZVirtualMachineConfigurationEncoder .cxx_destruct];
-[_VZVirtualMachineConfigurationEncoder initWithBaseURL:];
-[_VZVirtualMachineConfigurationEncoder dataWithConfiguration:format:error:];
@end