/// <reference types="@nativescript/objc-node-api" />

declare const OSString_Class: OSClassLoadInformation;

declare const IOUserServerInterface: number;

declare const IOUserServerMetaClass: number;

declare const gIOUserServerMetaClass: interop.Pointer;

declare const OSSerializationMetaClass: number;

declare const gOSDataMetaClass: interop.Pointer;

declare const IODataQueueDispatchSource: number;

declare const IODataQueueDispatchSourceInterface: number;

declare const IODataQueueDispatchSourceMetaClass: number;

declare const IODataQueueDispatchSource_Class: OSClassLoadInformation;

declare const gIODataQueueDispatchSourceMetaClass: interop.Pointer;

declare const IOInterruptDispatchSourceMetaClass: number;

declare const IOInterruptDispatchSource_Class: OSClassLoadInformation;

declare const gIOInterruptDispatchSourceMetaClass: interop.Pointer;

declare const kIOInterruptDispatchSourceTypeLevel: number;

declare const kIOInterruptDispatchSourceTypeEdge: number;

declare const OSBooleanMetaClass: number;

declare const OSBoolean_Class: OSClassLoadInformation;

declare const kOSBooleanTrue: interop.Pointer;

declare const IOTimerDispatchSource: number;

declare const IOTimerDispatchSourceInterface: number;

declare const IOTimerDispatchSource_Class: OSClassLoadInformation;

declare const kIOTimerClockMachContinuousTime: number;

declare const kIOTimerClockRealTime: number;

declare const IODispatchQueue_Class: OSClassLoadInformation;

declare const gIODispatchQueueMetaClass: interop.Pointer;

declare const kIODispatchQueueSleepReuseEvent: number;

declare const kIODispatchQueueWakeupAll: number;

declare const kIODispatchQueueReentrant: number;

declare const IODispatchSourceInterface: number;

declare const IODispatchSourceMetaClass: number;

declare const OSArrayMetaClass: number;

declare const OSDictionaryMetaClass: number;

declare const gOSCollectionMetaClass: interop.Pointer;

declare const OSContainerInterface: number;

declare const gOSContainerMetaClass: interop.Pointer;

declare const IODMACommandInterface: number;

declare const IODMACommand_Class: OSClassLoadInformation;

declare const gIODMACommandMetaClass: interop.Pointer;

declare const kIODMACommandSpecificationNoOptions: number;

declare const kIODMACommandCreateNoOptions: number;

declare const OSAction_IOUserClient_KernelCompletion: number;

declare const OSAction_IOUserClient_KernelCompletionInterface: number;

declare const OSAction_IOUserClient_KernelCompletionMetaClass: number;

declare const OSAction_IOUserClient_KernelCompletion_Class: OSClassLoadInformation;

declare const IOUserClientInterface: number;

declare const gIOUserClientMetaClass: interop.Pointer;

declare const kIOUserClientAsyncReferenceCountMax: number;

declare const OSAction_Class: OSClassLoadInformation;

declare const gOSActionMetaClass: interop.Pointer;

declare const IOBufferMemoryDescriptorInterface: number;

declare const OSDataMetaClass: number;

declare const kIOServiceHaltStatePowerOff: number;

declare const _kIOPMWakeEventPossibleFullWake: number;

declare const _kIOPMWakeEventFullWake: number;

declare const kIOServicePowerCapabilityOn: number;

declare const kIOServicePowerCapabilityOff: number;

declare const IOServiceStateNotificationDispatchSource: number;

declare const OSAction: number;

declare const IOUserClient: number;

declare const IOBufferMemoryDescriptor: number;

declare const IOMemoryMap_Class: OSClassLoadInformation;

declare const IOMemoryDescriptor: number;

declare const IOMemoryDescriptorMetaClass: number;

declare const gIOMemoryDescriptorMetaClass: interop.Pointer;

declare const kIOMemoryMapCacheModeRealTime: number;

declare const kIOMemoryMapGuardedDefault: number;

declare const kIOMemoryMapFixedAddress: number;

declare const kIOMemoryDisableCopyOnWrite: number;

declare const kIOMemoryDirectionInOut: number;

declare const kIOMemoryDirectionIn: number;

declare const kIOMemoryDirectionNone: number;

declare const IOMemoryMap: number;

declare const OSObjectMetaClass: number;

declare const gOSObjectMetaClass: interop.Pointer;

declare const OSBoolean: number;

declare const IODispatchQueue: number;

declare const kIOMemoryDirectionOut: number;

declare const IOBufferMemoryDescriptorMetaClass: number;

declare const kIODMACommandCompleteDMANoOptions: number;

declare const OSActionMetaClass: number;

declare const OSData: number;

declare const IOService_Class: OSClassLoadInformation;

declare const OSSerialization: number;

declare const kIOUserClientAsyncArgumentsCountMax: number;

declare const IOTimerDispatchSourceMetaClass: number;

declare const gIODispatchSourceMetaClass: interop.Pointer;

declare const IOServiceInterface: number;

declare const kIOUserClientMemoryReadOnly: number;

declare const kIOInterruptSourceAbsoluteTime: number;

declare const kIOMemoryMapGuardedLarge: number;

declare const kIODMACommandPerformOperationOptionZero: number;

declare const OSNumberMetaClass: number;

declare const kIOMemoryMapReadOnly: number;

declare const kIOTimerClockMonotonicRaw: number;

declare const IODispatchQueueInterface: number;

declare const kIOServiceHaltStateRestart: number;

declare const OSSerializationInterface: number;

declare const gOSSerializationMetaClass: interop.Pointer;

declare const kIOServicePowerCapabilityLPW: number;

declare const kIOMemoryMapGuardedNone: number;

declare const IODispatchSource_Class: OSClassLoadInformation;

declare const kIOMemoryMapGuardedMask: number;

declare const OSOrderedSet: number;

declare const kIOMemoryMapCacheModeInhibit: number;

declare const OSStringInterface: number;

declare const kIOUserClientVariableStructureSize: number;

declare const kIODMACommandPerformOperationOptionWrite: number;

declare const kIOTimerClockUptimeRaw: number;

declare const IOInterruptDispatchSource: number;

declare const kIOUserClientScalarArrayCountMax: number;

declare const IOMemoryDescriptor_Class: OSClassLoadInformation;

declare const OSNumber: number;

declare const IOUserServer_Class: OSClassLoadInformation;

declare const gOSDictionaryMetaClass: interop.Pointer;

declare const OSArrayInterface: number;

declare const kIOTimerClockWallTime: number;

declare const kIOMemoryDirectionOutIn: number;

declare const gIOBufferMemoryDescriptorMetaClass: interop.Pointer;

declare const gIOMemoryMapMetaClass: interop.Pointer;

declare const IOUserClientMetaClass: number;

declare const kIODispatchQueueMethodsNotSynchronized: number;

declare const IOServiceMetaClass: number;

declare const kIOTimerClockMachAbsoluteTime: number;

declare const IOService: number;

declare const OSCollectionMetaClass: number;

declare const OSObjectInterface: number;

declare const IOBufferMemoryDescriptor_Class: OSClassLoadInformation;

declare const IOMemoryMapMetaClass: number;

declare const kIOMemoryMapCacheModeDefault: number;

declare const gOSNumberMetaClass: interop.Pointer;

declare const OSNumberInterface: number;

declare const kIOMemoryMapCacheModeCopyback: number;

declare const kIOServicePMAssertionCPUBit: number;

declare const OSObject_Class: OSClassLoadInformation;

declare const OSCollectionInterface: number;

declare const OSSerialization_Class: OSClassLoadInformation;

declare const IOMemoryDescriptorInterface: number;

declare const kIODMACommandPerformOperationOptionRead: number;

declare const OSContainerMetaClass: number;

declare const gIOTimerDispatchSourceMetaClass: interop.Pointer;

declare const IOUserServer: number;

declare const IOInterruptDispatchSourceInterface: number;

declare const OSArray_Class: OSClassLoadInformation;

declare const IODispatchQueueMetaClass: number;

declare const OSBooleanInterface: number;

declare const OSSet: number;

declare const kIOServiceSearchPropertyParents: number;

declare const OSDictionaryInterface: number;

declare const kIOUserClientMethodArgumentsCurrentVersion: number;

declare const _kIOPMWakeEventSource: number;

declare const OSData_Class: OSClassLoadInformation;

declare const OSNumber_Class: OSClassLoadInformation;

declare const gOSBooleanMetaClass: interop.Pointer;

declare const kIODMACommandPrepareForDMANoOptions: number;

declare const kIOInterruptSourceContinuousTime: number;

declare const kIOInterruptSourceIndexMask: number;

declare const kIOServicePMAssertionForceFullWakeupBit: number;

declare const OSContainer: number;

declare const kOSBooleanFalse: interop.Pointer;

declare const IODispatchSource: number;

declare const kIOServicePowerCapabilityLow: number;

declare const gOSArrayMetaClass: interop.Pointer;

declare const gIOServiceMetaClass: interop.Pointer;

declare const gOSStringMetaClass: interop.Pointer;

declare const OSContainer_Class: OSClassLoadInformation;

declare const OSCollection_Class: OSClassLoadInformation;

declare const kIOMemoryMapCacheModeWriteThrough: number;

declare const gOSAction_IOUserClient_KernelCompletionMetaClass: interop.Pointer;

declare const IOUserClient_Class: OSClassLoadInformation;

declare const kIOMemoryMapGuardedSmall: number;

declare const OSDataInterface: number;

declare const OSActionInterface: number;

declare const OSDictionary_Class: OSClassLoadInformation;

declare const OSStringMetaClass: number;

declare const IODMACommandMetaClass: number;

declare const IOMemoryMapInterface: number;

declare class OSString_LocalIVars {
  constructor(init?: OSString_LocalIVars);
}

declare class OSString_IVars {
  constructor(init?: OSString_IVars);
}

declare class OSSerialization_LocalIVars {
  constructor(init?: OSSerialization_LocalIVars);
}

declare class OSSerialization_IVars {
  constructor(init?: OSSerialization_IVars);
}

declare class OSData_LocalIVars {
  constructor(init?: OSData_LocalIVars);
}

declare class IODataQueueDispatchSource_LocalIVars {
  constructor(init?: IODataQueueDispatchSource_LocalIVars);
}

declare class IOInterruptDispatchSourcePayload {
  constructor(init?: IOInterruptDispatchSourcePayload);
  time: number;
  count: number;
}

declare class OSBoolean_LocalIVars {
  constructor(init?: OSBoolean_LocalIVars);
}

declare class OSBoolean_IVars {
  constructor(init?: OSBoolean_IVars);
}

declare class IOTimerDispatchSource_LocalIVars {
  constructor(init?: IOTimerDispatchSource_LocalIVars);
}

declare class IODispatchQueue_LocalIVars {
  constructor(init?: IODispatchQueue_LocalIVars);
}

declare class IODispatchSource_LocalIVars {
  constructor(init?: IODispatchSource_LocalIVars);
}

declare class OSCollection_LocalIVars {
  constructor(init?: OSCollection_LocalIVars);
}

declare class OSCollection_IVars {
  constructor(init?: OSCollection_IVars);
}

declare class OSContainer_LocalIVars {
  constructor(init?: OSContainer_LocalIVars);
}

declare class OSDictionary_IVars {
  constructor(init?: OSDictionary_IVars);
}

declare class OSArray_LocalIVars {
  constructor(init?: OSArray_LocalIVars);
}

declare class IODMACommand_LocalIVars {
  constructor(init?: IODMACommand_LocalIVars);
}

declare class IODMACommand_IVars {
  constructor(init?: IODMACommand_IVars);
}

declare class IODMACommandSpecification {
  constructor(init?: IODMACommandSpecification);
  options: number;
  maxAddressBits: number;
  _resv: unknown /* const array */;
}

declare class IOBufferMemoryDescriptor_IVars {
  constructor(init?: IOBufferMemoryDescriptor_IVars);
}

declare class IOUserServer_IVars {
  constructor(init?: IOUserServer_IVars);
}

declare class _IOMemoryMapPrivateState {
  constructor(init?: _IOMemoryMapPrivateState);
  length: number;
  offset: number;
  options: number;
  address: number;
}

declare class IODispatchQueue_IVars {
  constructor(init?: IODispatchQueue_IVars);
}

declare class IOUserClient_LocalIVars {
  constructor(init?: IOUserClient_LocalIVars);
}

declare class IOUserClientMethodDispatch {
  constructor(init?: IOUserClientMethodDispatch);
  function: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible) => number | null;
  checkCompletionExists: number;
  checkScalarInputCount: number;
  checkStructureInputSize: number;
  checkScalarOutputCount: number;
  checkStructureOutputSize: number;
}

declare class IOUserClientMethodArguments {
  constructor(init?: IOUserClientMethodArguments);
  version: number;
  selector: number;
  completion: interop.Pointer;
  scalarInput: interop.Pointer;
  scalarInputCount: number;
  structureInput: interop.Pointer;
  structureInputDescriptor: interop.Pointer;
  scalarOutput: interop.Pointer;
  scalarOutputCount: number;
  structureOutput: interop.Pointer;
  structureOutputDescriptor: interop.Pointer;
  structureOutputMaximumSize: number;
  __reserved: unknown /* const array */;
}

declare class OSAction_IVars {
  constructor(init?: OSAction_IVars);
}

declare class OSActionWaitToken {
  constructor(init?: OSActionWaitToken);
}

declare class IOTimerDispatchSource_IVars {
  constructor(init?: IOTimerDispatchSource_IVars);
}

declare class IOMemoryMap_IVars {
  constructor(init?: IOMemoryMap_IVars);
}

declare class IOMemoryDescriptor_LocalIVars {
  constructor(init?: IOMemoryDescriptor_LocalIVars);
}

declare class IOAddressSegment {
  constructor(init?: IOAddressSegment);
  address: number;
  length: number;
}

declare class OSMetaClassPrivate {
  constructor(init?: OSMetaClassPrivate);
}

declare class OSClassLoadInformation {
  constructor(init?: OSClassLoadInformation);
  description: interop.Pointer;
  metaPointer: interop.Pointer;
  version: number;
  instanceSize: number;
  resv2: unknown /* const array */;
  New: (p1: interop.PointerConvertible) => number | null;
  resv3: unknown /* const array */;
}

declare class IODispatchSource_IVars {
  constructor(init?: IODispatchSource_IVars);
}

declare class IOBufferMemoryDescriptor_LocalIVars {
  constructor(init?: IOBufferMemoryDescriptor_LocalIVars);
}

declare class IOInterruptDispatchSource_IVars {
  constructor(init?: IOInterruptDispatchSource_IVars);
}

declare class IODataQueueDispatchSource_IVars {
  constructor(init?: IODataQueueDispatchSource_IVars);
}

declare class OSContainer_IVars {
  constructor(init?: OSContainer_IVars);
}

declare class _IOMDPrivateState {
  constructor(init?: _IOMDPrivateState);
  length: number;
  options: number;
}

declare class IOInterruptDispatchSource_LocalIVars {
  constructor(init?: IOInterruptDispatchSource_LocalIVars);
}

declare class IOService_LocalIVars {
  constructor(init?: IOService_LocalIVars);
}

declare class OSObject_IVars {
  constructor(init?: OSObject_IVars);
}

declare class OSAction_IOUserClient_KernelCompletion_LocalIVars {
  constructor(init?: OSAction_IOUserClient_KernelCompletion_LocalIVars);
}

declare class OSDictionary_LocalIVars {
  constructor(init?: OSDictionary_LocalIVars);
}

declare class IOUserServer_LocalIVars {
  constructor(init?: IOUserServer_LocalIVars);
}

declare class IOUserClient_IVars {
  constructor(init?: IOUserClient_IVars);
}

declare class OSAction_IOUserClient_KernelCompletion_IVars {
  constructor(init?: OSAction_IOUserClient_KernelCompletion_IVars);
}

declare class IOMemoryDescriptor_IVars {
  constructor(init?: IOMemoryDescriptor_IVars);
}

declare class IOService_IVars {
  constructor(init?: IOService_IVars);
}

declare class OSAction_LocalIVars {
  constructor(init?: OSAction_LocalIVars);
}

declare class OSObject_LocalIVars {
  constructor(init?: OSObject_LocalIVars);
}

declare class OSNumber_IVars {
  constructor(init?: OSNumber_IVars);
}

declare class OSData_IVars {
  constructor(init?: OSData_IVars);
}

declare class OSNumber_LocalIVars {
  constructor(init?: OSNumber_LocalIVars);
}

declare class IOMemoryMap_LocalIVars {
  constructor(init?: IOMemoryMap_LocalIVars);
}

declare class OSArray_IVars {
  constructor(init?: OSArray_IVars);
}

declare function OSObjectAllocate(meta: interop.PointerConvertible, pObject: interop.PointerConvertible): number;

