/// <reference types="@nativescript/objc-node-api" />
/// <reference path="./Runtime.d.ts" />

declare const kAudioDevicePropertyClockAlgorithm: number;

declare const kAudioDevicePropertyZeroTimeStampPeriod: number;

declare const kAudioPlugInPropertyResourceBundle: number;

declare const kAudioServerPlugInHostClientID: number;

declare const kAudioObjectPlugInObject: number;

declare const kAudioObjectPropertyCustomPropertyInfoList: number;

declare const kAudioClockSourceControlPropertyItemKind: number;

declare const kAudioStreamPropertyPhysicalFormatMatch: number;

declare const kAudioAggregateDevicePropertyMasterSubDevice: number;

declare const kAudioDevicePropertyHighPassFilterSettingNameForID: number;

declare const kAudioDevicePropertyPlayThruDestinationNameForID: number;

declare const kAudioDevicePropertyClockSourceNameForID: number;

declare const kAudioDevicePropertyDataSourceNameForID: number;

declare const kAudioDevicePropertyStreamFormatSupported: number;

declare const kAudioDevicePropertyStreamFormats: number;

declare const kAudioDevicePropertyStreamFormat: number;

declare const kAudioDevicePropertyChannelNumberName: number;

declare const kAudioDevicePropertyBufferSize: number;

declare const kAudioDevicePropertyDeviceNameCFString: number;

declare const kAudioDevicePropertySubVolumeDecibelsToScalarTransferFunction: number;

declare const kAudioDevicePropertyDriverShouldOwniSub: number;

declare const kAudioDeviceTransportTypeAutoAggregate: number;

declare const kAudioHardwarePropertyBootChimeVolumeDecibelsToScalar: number;

declare const kAudioHardwarePropertyBootChimeVolumeScalarToDecibels: number;

declare const kAudioHardwarePropertyBootChimeVolumeRangeDecibels: number;

declare const kAudioHardwarePropertyBootChimeVolumeDecibels: number;

declare const kAudioHardwarePropertyProcessIsMaster: number;

declare const kAudioHardwarePropertyPlugInForBundleID: number;

declare const kAudioHardwarePropertyDeviceForUID: number;

declare const kAudioHardwarePropertyRunLoop: number;

declare const kAudioISubOwnerControlClassID: number;

declare const kAudioDevicePropertyScopePlayThrough: number;

declare const kAudioDevicePropertyScopeOutput: number;

declare const kAudioTapPropertyFormat: number;

declare const kAudioTapPropertyUID: number;

declare const kAudioProcessPropertyIsRunningOutput: number;

declare const kAudioProcessPropertyIsRunningInput: number;

declare const kAudioProcessClassID: number;

declare const kAudioSubTapPropertyDriftCompensationQuality: number;

declare const kAudioSubTapPropertyDriftCompensation: number;

declare const kAudioSubDevicePropertyDriftCompensation: number;

declare const kAudioSubDeviceDriftCompensationMaxQuality: number;

declare const kAudioSubDeviceDriftCompensationHighQuality: number;

declare const kAudioSubDeviceDriftCompensationMediumQuality: number;

declare const kAudioSubDeviceDriftCompensationMinQuality: number;

declare const kAudioSubDeviceClassID: number;

declare const kAudioAggregateDriftCompensationHighQuality: number;

declare const kAudioAggregateDriftCompensationMediumQuality: number;

declare const kAudioAggregateDevicePropertySubTapList: number;

declare const kAudioAggregateDevicePropertyTapList: number;

declare const kAudioAggregateDevicePropertyActiveSubDeviceList: number;

declare const kAudioDevicePropertyWantsControlsRestored: number;

declare const kAudioDevicePropertySubVolumeScalarToDecibels: number;

declare const kAudioDevicePropertySubVolumeDecibels: number;

declare const kAudioDevicePropertyHighPassFilterSetting: number;

declare const kAudioDevicePropertyChannelNominalLineLevelNameForIDCFString: number;

declare const kAudioDevicePropertyChannelNominalLineLevels: number;

declare const kAudioDevicePropertyPlayThruDestinations: number;

declare const kAudioDevicePropertyPlayThruStereoPan: number;

declare const kAudioDevicePropertyPlayThruVolumeRangeDecibels: number;

declare const kAudioDevicePropertyPlayThruSolo: number;

declare const kAudioDevicePropertyClockSourceNameForIDCFString: number;

declare const kAudioDevicePropertyClockSources: number;

declare const kAudioDevicePropertyClockSource: number;

declare const kAudioDevicePropertyDataSourceKindForID: number;

declare const kAudioDevicePropertyDataSourceNameForIDCFString: number;

declare const kAudioDevicePropertyDataSource: number;

declare const kAudioDevicePropertyListenback: number;

declare const kAudioDevicePropertyClipLight: number;

declare const kAudioDevicePropertyPhaseInvert: number;

declare const kAudioDevicePropertyPhantomPower: number;

declare const kAudioDevicePropertySolo: number;

declare const kAudioDevicePropertyStereoPanChannels: number;

declare const kAudioDevicePropertyStereoPan: number;

declare const kAudioDevicePropertyVolumeRangeDecibels: number;

declare const kAudioDevicePropertyJackIsConnected: number;

declare const kAudioDevicePropertyProcessMute: number;

declare const kAudioDevicePropertyIOThreadOSWorkgroup: number;

declare const kAudioDevicePropertyIOProcStreamUsage: number;

declare const kAudioDevicePropertyStreamConfiguration: number;

declare const kAudioDevicePropertyUsesVariableBufferFrameSizes: number;

declare const kAudioDevicePropertyBufferFrameSize: number;

declare const kAudioDevicePropertyIOStoppedAbnormally: number;

declare const kAudioDevicePropertyDeviceIsRunningSomewhere: number;

declare const kAudioDeviceStartTimeDontConsultHALFlag: number;

declare const kAudioDeviceStartTimeIsInputFlag: number;

declare const kAudioTransportManagerCreateEndPointDevice: number;

declare const kAudioPlugInDestroyAggregateDevice: number;

declare const kAudioPlugInCreateAggregateDevice: number;

declare const kAudioHardwarePropertyTranslateUIDToTap: number;

declare const kAudioHardwarePropertyTapList: number;

declare const kAudioHardwarePropertyTranslatePIDToProcessObject: number;

declare const kAudioHardwarePropertyProcessObjectList: number;

declare const kAudioHardwarePropertyUserSessionIsActiveOrHeadless: number;

declare const kAudioHardwarePropertyHogModeIsAllowed: number;

declare const kAudioHardwarePropertyUnloadingIsAllowed: number;

declare const kAudioHardwarePropertyProcessIsAudible: number;

declare const kAudioHardwarePropertyUserIDChanged: number;

declare const kAudioHardwarePropertyIsInitingOrExiting: number;

declare const kAudioHardwarePropertyProcessIsMain: number;

declare const kAudioHardwarePropertyClockDeviceList: number;

declare const kAudioHardwarePropertyTransportManagerList: number;

declare const kAudioHardwarePropertyTranslateBundleIDToPlugIn: number;

declare const kAudioHardwarePropertyPlugInList: number;

declare const kAudioHardwarePropertyTranslateUIDToDevice: number;

declare const kAudioHardwarePropertyDefaultSystemOutputDevice: number;

declare const kAudioHardwarePropertyDefaultInputDevice: number;

declare const kAudioSystemObjectClassID: number;

declare const kAudioObjectSystemObject: number;

declare const kAudioStereoPanControlPropertyPanningChannels: number;

declare const kAudioSelectorControlItemKindSpacer: number;

declare const kAudioSelectorControlPropertyAvailableItems: number;

declare const kAudioHighPassFilterControlClassID: number;

declare const kAudioLineLevelControlClassID: number;

declare const kAudioClockSourceControlClassID: number;

declare const kAudioDataDestinationControlClassID: number;

declare const kAudioDataSourceControlClassID: number;

declare const kAudioBooleanControlPropertyValue: number;

declare const kAudioListenbackControlClassID: number;

declare const kAudioTalkbackControlClassID: number;

declare const kAudioPhantomPowerControlClassID: number;

declare const kAudioLFEMuteControlClassID: number;

declare const kAudioJackControlClassID: number;

declare const kAudioMuteControlClassID: number;

declare const kAudioBooleanControlClassID: number;

declare const kAudioLevelControlPropertyConvertDecibelsToScalar: number;

declare const kAudioLevelControlPropertyConvertScalarToDecibels: number;

declare const kAudioLFEVolumeControlClassID: number;

declare const kAudioVolumeControlClassID: number;

declare const kAudioAggregateDevicePropertyClockDevice: number;

declare const kAudioLevelControlClassID: number;

declare const kAudioSliderControlPropertyRange: number;

declare const kAudioControlPropertyScope: number;

declare const kAudioStreamPropertyAvailablePhysicalFormats: number;

declare const kAudioStreamPropertyPhysicalFormat: number;

declare const kAudioStreamPropertyStartingChannel: number;

declare const kAudioStreamPropertyTerminalType: number;

declare const kAudioStreamTerminalTypeDisplayPort: number;

declare const kAudioStreamTerminalTypeMicrophone: number;

declare const kAudioStreamTerminalTypeReceiverSpeaker: number;

declare const kAudioStreamTerminalTypeLFESpeaker: number;

declare const kAudioStreamTerminalTypeSpeaker: number;

declare const kAudioStreamTerminalTypeDigitalAudioInterface: number;

declare const kAudioStreamTerminalTypeLine: number;

declare const kAudioEndPointDevicePropertyIsPrivate: number;

declare const kAudioEndPointDevicePropertyEndPointList: number;

declare const kAudioEndPointDevicePropertyComposition: number;

declare const kAudioEndPointDeviceClassID: number;

declare const kAudioClockDevicePropertyAvailableNominalSampleRates: number;

declare const kAudioClockDevicePropertyNominalSampleRate: number;

declare const kAudioClockDevicePropertyControlList: number;

declare const kAudioClockDevicePropertyLatency: number;

declare const kAudioClockDevicePropertyClockDomain: number;

declare const kAudioClockDevicePropertyDeviceUID: number;

declare const kAudioClockDeviceClassID: number;

declare const kAudioDevicePropertyPreferredChannelLayout: number;

declare const kAudioDevicePropertyIsHidden: number;

declare const kAudioDevicePropertyIcon: number;

declare const kAudioDevicePropertyNominalSampleRate: number;

declare const kAudioDevicePropertyStreams: number;

declare const kAudioDevicePropertyDeviceCanBeDefaultDevice: number;

declare const kAudioDevicePropertyDeviceIsAlive: number;

declare const kAudioDevicePropertyRelatedDevices: number;

declare const kAudioDevicePropertyModelUID: number;

declare const kAudioDevicePropertyConfigurationApplication: number;

declare const kAudioDeviceTransportTypeContinuityCapture: number;

declare const kAudioDeviceTransportTypeContinuityCaptureWireless: number;

declare const kAudioDeviceTransportTypeContinuityCaptureWired: number;

declare const kAudioDeviceTransportTypeDisplayPort: number;

declare const kAudioDeviceTransportTypeBluetooth: number;

declare const kAudioDeviceTransportTypeFireWire: number;

declare const kAudioDeviceTransportTypePCI: number;

declare const kAudioDeviceTransportTypeBuiltIn: number;

declare const kAudioDeviceClassID: number;

declare const kAudioBoxPropertyClockDeviceList: number;

declare const kAudioBoxPropertyDeviceList: number;

declare const kAudioBoxPropertyAcquisitionFailed: number;

declare const kAudioBoxPropertyHasAudio: number;

declare const kAudioBoxClassID: number;

declare const kAudioTransportManagerPropertyTranslateUIDToEndPoint: number;

declare const kAudioTransportManagerPropertyEndPointList: number;

declare const kAudioTransportManagerClassID: number;

declare const kAudioPlugInPropertyTranslateUIDToClockDevice: number;

declare const kAudioPlugInPropertyClockDeviceList: number;

declare const kAudioPlugInPropertyTranslateUIDToBox: number;

declare const kAudioPlugInPropertyDeviceList: number;

declare const kAudioPlugInPropertyBundleID: number;

declare const kAudioPlugInClassID: number;

declare const kAudioObjectPropertyIdentify: number;

declare const kAudioObjectPropertyOwnedObjects: number;

declare const kAudioObjectPropertyElementCategoryName: number;

declare const kAudioObjectPropertyElementName: number;

declare const kAudioObjectPropertyManufacturer: number;

declare const kAudioObjectPropertyModelName: number;

declare const kAudioObjectPropertyName: number;

declare const kAudioObjectPropertyOwner: number;

declare const kAudioObjectClassIDWildcard: number;

declare const kAudioObjectPropertyScopeWildcard: number;

declare const kAudioObjectPropertySelectorWildcard: number;

declare const kAudioObjectPropertyElementMaster: number;

declare const kAudioObjectPropertyScopeOutput: number;

declare const kAudioObjectPropertyScopeInput: number;

declare const kAudioObjectUnknown: number;

declare const kAudioDevicePermissionsError: number;

declare const kAudioHardwareBadObjectError: number;

declare const kAudioHardwareIllegalOperationError: number;

declare const kAudioHardwareUnspecifiedError: number;

declare const kAudioHardwareNotRunningError: number;

declare const kAudioHardwareNoError: number;

declare const kAudioObjectPropertyElementMain: number;

declare const kAudioDeviceStartTimeDontConsultDeviceFlag: number;

declare const kAudioHardwarePropertyPowerHint: number;

declare const kAudioStreamTerminalTypeTTY: number;

declare const kAudioServerPlugInCustomPropertyDataTypeCFString: number;

declare const kAudioDevicePropertyActualSampleRate: number;

declare const kAudioDeviceTransportTypeBluetoothLE: number;

declare const kAudioLevelControlPropertyDecibelsToScalarTransferFunction: number;

declare const kAudioPropertyWildcardSection: number;

declare const kAudioStreamTerminalTypeReceiverMicrophone: number;

declare const kAudioClockDevicePropertyTransportType: number;

declare const kAudioControlClassID: number;

declare const kAudioDevicePropertySubMute: number;

declare const kAudioObjectPropertyBaseClass: number;

declare const kAudioBoxPropertyAcquired: number;

declare const kAudioDevicePropertyClockIsStable: number;

declare const kAudioDeviceProcessorOverload: number;

declare const kAudioDevicePropertyClockDevice: number;

declare const kAudioStreamPropertyDirection: number;

declare const kAudioHardwarePropertyMixStereoToMono: number;

declare const kAudioDevicePropertyLatency: number;

declare const kAudioHardwarePropertyProcessInputMute: number;

declare const kAudioDevicePropertySafetyOffset: number;

declare const kAudioSubDeviceDriftCompensationLowQuality: number;

declare const kAudioSelectorControlPropertyCurrentItem: number;

declare const kAudioClockDevicePropertyDeviceIsRunning: number;

declare const kAudioClockSourceItemKindInternal: number;

declare const kAudioDevicePropertyPlugIn: number;

declare const kAudioDeviceTransportTypeAggregate: number;

declare const kAudioDevicePropertyMute: number;

declare const kAudioHardwareUnknownPropertyError: number;

declare const kAudioDevicePropertyPlayThruVolumeDecibels: number;

declare const kAudioDevicePropertyChannelName: number;

declare const kAudioLevelControlPropertyDecibelValue: number;

declare const kAudioLevelControlPropertyDecibelRange: number;

declare const kAudioAggregateDevicePropertyFullSubDeviceList: number;

declare const kAudioDevicePropertyDeviceHasChanged: number;

declare const kAudioDevicePropertyChannelCategoryNameCFString: number;

declare const kAudioDevicePropertyPlayThruVolumeDecibelsToScalarTransferFunction: number;

declare const kAudioSoloControlClassID: number;

declare const kAudioDeviceTransportTypeAVB: number;

declare const kAudioDevicePropertyBufferFrameSizeRange: number;

declare const kAudioStereoPanControlClassID: number;

declare const kAudioDevicePropertyPreferredChannelsForStereo: number;

declare const kAudioPlugInPropertyBoxList: number;

declare const kAudioObjectPropertyElementWildcard: number;

declare const kAudioPropertyWildcardChannel: number;

declare const kAudioObjectPropertyScopeGlobal: number;

declare const kAudioStreamPropertyIsActive: number;

declare const kAudioDeviceTransportTypeHDMI: number;

declare const kAudioObjectPropertyFirmwareVersion: number;

declare const kAudioDevicePropertyRegisterBufferList: number;

declare const kAudioDevicePropertyClockDomain: number;

declare const kAudioDevicePropertyIOCycleUsage: number;

declare const kAudioStreamPropertyOwningDevice: number;

declare const kAudioStreamTerminalTypeHeadsetMicrophone: number;

declare const kAudioHardwarePropertyTranslateUIDToClockDevice: number;

declare const kAudioHardwareNotReadyError: number;

declare const kAudioSliderControlClassID: number;

declare const kAudioStreamPropertyPhysicalFormatSupported: number;

declare const kAudioClockDevicePropertyDeviceIsAlive: number;

declare const kAudioHardwarePropertyServiceRestarted: number;

declare const kAudioBoxPropertyBoxUID: number;

declare const kAudioObjectClassID: number;

declare const kAudioDevicePropertyDataSources: number;

declare const kAudioDeviceTransportTypeThunderbolt: number;

declare const kAudioHardwarePropertyTranslateUIDToBox: number;

declare const kAudioDevicePropertyChannelNumberNameCFString: number;

declare const kAudioDevicePropertyTransportType: number;

declare const kAudioSubDevicePropertyExtraLatency: number;

declare const kAudioAggregateDriftCompensationMaxQuality: number;

declare const kAudioHardwarePropertyDefaultOutputDevice: number;

declare const kAudioDevicePropertyBufferSizeRange: number;

declare const kAudioStreamPropertyPhysicalFormats: number;

declare const kAudioHardwarePropertyBootChimeVolumeDecibelsToScalarTransferFunction: number;

declare const kAudioDevicePropertyChannelCategoryName: number;

declare const kAudioDevicePropertyChannelNominalLineLevel: number;

declare const kAudioDevicePropertyDeviceIsRunning: number;

declare const kAudioHardwareUnsupportedOperationError: number;

declare const kAudioStreamPropertyVirtualFormat: number;

declare const kAudioTransportManagerPropertyTransportType: number;

declare const kAudioDevicePropertyVoiceActivityDetectionEnable: number;

declare const kAudioDevicePropertyVoiceActivityDetectionState: number;

declare const kAudioDevicePropertyHighPassFilterSettingNameForIDCFString: number;

declare const kAudioDevicePropertyVolumeDecibelsToScalar: number;

declare const kAudioObjectPropertyScopePlayThrough: number;

declare const kAudioBoxPropertyHasVideo: number;

declare const kAudioStreamPropertyLatency: number;

declare const kAudioProcessPropertyPID: number;

declare const kAudioDevicePropertyWantsStreamFormatsRestored: number;

declare const kAudioDevicePropertyDeviceUID: number;

declare const kAudioBootChimeVolumeControlClassID: number;

declare const kAudioDeviceTransportTypeUnknown: number;

declare const kAudioDevicePropertyStreamFormatMatch: number;

declare const kAudioStreamTerminalTypeUnknown: number;

declare const kAudioAggregateDevicePropertyComposition: number;

declare const kAudioServerPlugInCustomPropertyDataTypeCFPropertyList: number;

declare const kAudioEndPointClassID: number;

declare const kAudioDevicePropertyVolumeScalarToDecibels: number;

declare const kAudioSliderControlPropertyValue: number;

declare const kAudioDevicePropertyDeviceCanBeDefaultSystemDevice: number;

declare const kAudioDevicePropertyHogMode: number;

declare const kAudioStreamClassID: number;

declare const kAudioDevicePropertySubVolumeScalar: number;

declare const kAudioObjectPropertyCreator: number;

declare const kAudioHardwarePropertyBoxList: number;

declare const kAudioSubTapPropertyExtraLatency: number;

declare const kAudioStreamTerminalTypeHDMI: number;

declare const kAudioProcessPropertyDevices: number;

declare const kAudioProcessPropertyIsRunning: number;

declare const kAudioDevicePropertyVolumeScalar: number;

declare const kAudioDevicePropertyDeviceName: number;

declare const kAudioObjectPropertyListenerRemoved: number;

declare const kAudioObjectPropertyListenerAdded: number;

declare const kAudioDeviceUnsupportedFormatError: number;

declare const kAudioHardwarePropertyBootChimeVolumeScalar: number;

declare const kAudioDevicePropertyPlayThruVolumeDecibelsToScalar: number;

declare const kAudioStereoPanControlPropertyValue: number;

declare const kAudioPropertyWildcardPropertyID: number;

declare const kAudioSelectorControlClassID: number;

declare const kAudioBoxPropertyIsProtected: number;

declare const kAudioClipLightControlClassID: number;

declare const kAudioDevicePropertyPlayThruDestination: number;

declare const kAudioAggregateDevicePropertyMainSubDevice: number;

declare const kAudioDeviceTransportTypeVirtual: number;

declare const kAudioStreamPropertyAvailableVirtualFormats: number;

declare const kAudioHardwareBadStreamError: number;

declare const kAudioAggregateDriftCompensationMinQuality: number;

declare const kAudioObjectPropertyControlList: number;

declare const kAudioDeviceTransportTypeUSB: number;

declare const kAudioControlPropertyElement: number;

declare const kAudioDevicePropertyPlayThruVolumeScalar: number;

declare const kAudioDevicePropertyPlayThruStereoPanChannels: number;

declare const kAudioHardwarePropertySleepingIsAllowed: number;

declare const kAudioTransportManagerDestroyEndPointDevice: number;

declare const kAudioObjectPropertyClass: number;

declare const kAudioDeviceTransportTypeAirPlay: number;

declare const kAudioDevicePropertyPlayThruVolumeScalarToDecibels: number;

declare const kAudioLevelControlPropertyScalarValue: number;

declare const kAudioDevicePropertyHighPassFilterSettings: number;

declare const kAudioDevicePropertyScopeInput: number;

declare const kAudioObjectPropertyElementNumberName: number;

declare const kAudioAggregateDeviceClassID: number;

declare const kAudioBoxPropertyTransportType: number;

declare const kAudioDevicePropertyChannelNominalLineLevelNameForID: number;

declare const kAudioSubDevicePropertyDriftCompensationQuality: number;

declare const kAudioDevicePropertyVolumeDecibelsToScalarTransferFunction: number;

declare const kAudioStreamTerminalTypeHeadphones: number;

declare const kAudioDevicePropertyClockSourceKindForID: number;

declare const kAudioAggregateDriftCompensationLowQuality: number;

declare const kAudioHardwarePropertyTranslateBundleIDToTransportManager: number;

declare const kAudioDevicePropertyPlayThruDestinationNameForIDCFString: number;

declare const kAudioDevicePropertyTalkback: number;

declare const kAudioSubTapClassID: number;

declare const kAudioServerPlugInCustomPropertyDataTypeNone: number;

declare const kAudioObjectPropertySerialNumber: number;

declare const kAudioDevicePropertySubVolumeDecibelsToScalar: number;

declare const kAudioPlugInPropertyTranslateUIDToDevice: number;

declare const kAudioPhaseInvertControlClassID: number;

declare const kAudioDevicePropertySubVolumeRangeDecibels: number;

declare const kAudioDevicePropertyDeviceManufacturer: number;

declare const kAudioSelectorControlPropertyItemName: number;

declare const kAudioBoxPropertyHasMIDI: number;

declare const kAudioDeviceUnknown: number;

declare const kAudioStreamUnknown: number;

declare const kAudioHardwareBadDeviceError: number;

declare const kAudioHardwarePropertyDevices: number;

declare const kAudioDevicePropertySupportsMixing: number;

declare const kAudioDevicePropertyChannelNameCFString: number;

declare const kAudioControlPropertyVariant: number;

declare const kAudioDevicePropertyVolumeDecibels: number;

declare const kAudioProcessPropertyBundleID: number;

declare const kAudioSelectorControlPropertyItemKind: number;

declare const kAudioHardwareBadPropertySizeError: number;

declare const kAudioDevicePropertyPlayThru: number;

declare const kAudioDevicePropertyAvailableNominalSampleRates: number;

declare const kAudioTapPropertyDescription: number;

declare const kAudioTapClassID: number;

declare const kAudioDevicePropertyDeviceManufacturerCFString: number;

declare const CATapMuteBehavior: {
  Unmuted: 0,
  Muted: 1,
  MutedWhenTapped: 2,
};

declare const AudioServerPlugInIOOperation: {
  Thread: 1953002084,
  Cycle: 1668899692,
  ReadInput: 1919246692,
  ConvertInput: 1667853936,
  ProcessInput: 1885957744,
  ProcessOutput: 1886352756,
  MixOutput: 1835628655,
  ProcessMix: 1886218616,
  ConvertMix: 1668114808,
  WriteMix: 1919513701,
};

declare const AudioLevelControlTransferFunction: {
  FunctionLinear: 0,
  Function1Over3: 1,
  Function1Over2: 2,
  Function3Over4: 3,
  Function3Over2: 4,
  Function2Over1: 5,
  Function3Over1: 6,
  Function4Over1: 7,
  Function5Over1: 8,
  Function6Over1: 9,
  Function7Over1: 10,
  Function8Over1: 11,
  Function9Over1: 12,
  Function10Over1: 13,
  Function11Over1: 14,
  Function12Over1: 15,
};

declare const AudioHardwarePowerHint: {
  None: 0,
  FavorSavingPower: 1,
};

declare const AudioDeviceClockAlgorithmSelector: {
  AlgorithmRaw: 1918990199,
  AlgorithmSimpleIIR: 1768518246,
  Algorithm12PtMovingWindowAverage: 1835103847,
};

declare class AudioServerPlugInCustomPropertyInfo {
  constructor(init?: AudioServerPlugInCustomPropertyInfo);
  mSelector: number;
  mPropertyDataType: number;
  mQualifierDataType: number;
}

declare class AudioHardwareIOProcStreamUsage {
  constructor(init?: AudioHardwareIOProcStreamUsage);
  mIOProc: interop.Pointer;
  mNumberStreams: number;
  mStreamIsOn: unknown /* const array */;
}

declare class AudioStreamRangedDescription {
  constructor(init?: AudioStreamRangedDescription);
  mFormat: AudioStreamBasicDescription;
  mSampleRateRange: AudioValueRange;
}

declare class AudioObjectPropertyAddress {
  constructor(init?: AudioObjectPropertyAddress);
  mSelector: number;
  mScope: number;
  mElement: number;
}

declare class AudioServerPlugInHostInterface {
  constructor(init?: AudioServerPlugInHostInterface);
  PropertiesChanged: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible) => number | null;
  CopyFromStorage: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible) => number | null;
  WriteToStorage: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible) => number | null;
  DeleteFromStorage: (p1: interop.PointerConvertible, p2: interop.PointerConvertible) => number | null;
  RequestDeviceConfigurationChange: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible) => number | null;
}

declare class AudioServerPlugInIOCycleInfo {
  constructor(init?: AudioServerPlugInIOCycleInfo);
  mIOCycleCounter: number;
  mNominalIOBufferFrameSize: number;
  mCurrentTime: AudioTimeStamp;
  mInputTime: AudioTimeStamp;
  mOutputTime: AudioTimeStamp;
  mDeviceHostTicksPerFrame: number;
}

declare class AudioServerPlugInDriverInterface {
  constructor(init?: AudioServerPlugInDriverInterface);
  _reserved: interop.Pointer;
  QueryInterface: (p1: interop.PointerConvertible, p2: CFUUIDBytes, p3: interop.PointerConvertible) => number | null;
  AddRef: (p1: interop.PointerConvertible) => number | null;
  Release: (p1: interop.PointerConvertible) => number | null;
  Initialize: (p1: interop.PointerConvertible, p2: interop.PointerConvertible) => number | null;
  CreateDevice: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number | null;
  DestroyDevice: (p1: interop.PointerConvertible, p2: number) => number | null;
  AddDeviceClient: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number | null;
  RemoveDeviceClient: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number | null;
  PerformDeviceConfigurationChange: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible) => number | null;
  AbortDeviceConfigurationChange: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible) => number | null;
  HasProperty: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible) => number | null;
  IsPropertySettable: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible, p5: interop.PointerConvertible) => number | null;
  GetPropertyDataSize: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible, p5: number, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number | null;
  GetPropertyData: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible, p5: number, p6: interop.PointerConvertible, p7: number, p8: interop.PointerConvertible, p9: interop.PointerConvertible) => number | null;
  SetPropertyData: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible, p5: number, p6: interop.PointerConvertible, p7: number, p8: interop.PointerConvertible) => number | null;
  StartIO: (p1: interop.PointerConvertible, p2: number, p3: number) => number | null;
  StopIO: (p1: interop.PointerConvertible, p2: number, p3: number) => number | null;
  GetZeroTimeStamp: (p1: interop.PointerConvertible, p2: number, p3: number, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible) => number | null;
  WillDoIOOperation: (p1: interop.PointerConvertible, p2: number, p3: number, p4: number, p5: interop.PointerConvertible, p6: interop.PointerConvertible) => number | null;
  BeginIOOperation: (p1: interop.PointerConvertible, p2: number, p3: number, p4: number, p5: number, p6: interop.PointerConvertible) => number | null;
  DoIOOperation: (p1: interop.PointerConvertible, p2: number, p3: number, p4: number, p5: number, p6: number, p7: interop.PointerConvertible, p8: interop.PointerConvertible, p9: interop.PointerConvertible) => number | null;
  EndIOOperation: (p1: interop.PointerConvertible, p2: number, p3: number, p4: number, p5: number, p6: interop.PointerConvertible) => number | null;
}

declare class AudioServerPlugInClientInfo {
  constructor(init?: AudioServerPlugInClientInfo);
  mClientID: number;
  mProcessID: number;
  mIsNativeEndian: number;
  mBundleID: interop.Object | null;
}

type unnamed_13603192552634388205Descriptor = 
  | { mMainHostTicksPerFrame: number }
  | { mMasterHostTicksPerFrame: number };

declare class unnamed_13603192552634388205 {
  constructor(init?: unnamed_13603192552634388205Descriptor);
  mMainHostTicksPerFrame: number;
  mMasterHostTicksPerFrame: number;
}

declare function AudioObjectShow(inObjectID: number): void;

declare function AudioObjectHasProperty(inObjectID: number, inAddress: interop.PointerConvertible): number;

declare function AudioObjectIsPropertySettable(inObjectID: number, inAddress: interop.PointerConvertible, outIsSettable: interop.PointerConvertible): number;

declare function AudioObjectGetPropertyDataSize(inObjectID: number, inAddress: interop.PointerConvertible, inQualifierDataSize: number, inQualifierData: interop.PointerConvertible, outDataSize: interop.PointerConvertible): number;

declare function AudioObjectGetPropertyData(inObjectID: number, inAddress: interop.PointerConvertible, inQualifierDataSize: number, inQualifierData: interop.PointerConvertible, ioDataSize: interop.PointerConvertible, outData: interop.PointerConvertible): number;

declare function AudioObjectSetPropertyData(inObjectID: number, inAddress: interop.PointerConvertible, inQualifierDataSize: number, inQualifierData: interop.PointerConvertible, inDataSize: number, inData: interop.PointerConvertible): number;

declare function AudioObjectAddPropertyListener(inObjectID: number, inAddress: interop.PointerConvertible, inListener: (p1: number, p2: number, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioObjectRemovePropertyListener(inObjectID: number, inAddress: interop.PointerConvertible, inListener: (p1: number, p2: number, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioObjectAddPropertyListenerBlock(inObjectID: number, inAddress: interop.PointerConvertible, inDispatchQueue: NSObject, inListener: (p1: number, p2: interop.PointerConvertible) => void): number;

declare function AudioObjectRemovePropertyListenerBlock(inObjectID: number, inAddress: interop.PointerConvertible, inDispatchQueue: NSObject, inListener: (p1: number, p2: interop.PointerConvertible) => void): number;

declare function AudioHardwareUnload(): number;

declare function AudioHardwareCreateAggregateDevice(inDescription: interop.Object, outDeviceID: interop.PointerConvertible): number;

declare function AudioHardwareDestroyAggregateDevice(inDeviceID: number): number;

declare function AudioDeviceCreateIOProcID(inDevice: number, inProc: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible, outIOProcID: interop.PointerConvertible): number;

declare function AudioDeviceCreateIOProcIDWithBlock(outIOProcID: interop.PointerConvertible, inDevice: number, inDispatchQueue: NSObject, inIOBlock: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible) => void): number;

declare function AudioDeviceDestroyIOProcID(inDevice: number, inIOProcID: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number): number;

declare function AudioDeviceStart(inDevice: number, inProcID: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number): number;

declare function AudioDeviceStartAtTime(inDevice: number, inProcID: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number, ioRequestedStartTime: interop.PointerConvertible, inFlags: number): number;

declare function AudioDeviceStop(inDevice: number, inProcID: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number): number;

declare function AudioDeviceGetCurrentTime(inDevice: number, outTime: interop.PointerConvertible): number;

declare function AudioDeviceTranslateTime(inDevice: number, inTime: interop.PointerConvertible, outTime: interop.PointerConvertible): number;

declare function AudioDeviceGetNearestStartTime(inDevice: number, ioRequestedStartTime: interop.PointerConvertible, inFlags: number): number;

declare function AudioHardwareAddRunLoopSource(inRunLoopSource: interop.Object): number;

declare function AudioHardwareRemoveRunLoopSource(inRunLoopSource: interop.Object): number;

declare function AudioHardwareGetPropertyInfo(inPropertyID: number, outSize: interop.PointerConvertible, outWritable: interop.PointerConvertible): number;

declare function AudioHardwareGetProperty(inPropertyID: number, ioPropertyDataSize: interop.PointerConvertible, outPropertyData: interop.PointerConvertible): number;

declare function AudioHardwareSetProperty(inPropertyID: number, inPropertyDataSize: number, inPropertyData: interop.PointerConvertible): number;

declare function AudioHardwareAddPropertyListener(inPropertyID: number, inProc: (p1: number, p2: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioHardwareRemovePropertyListener(inPropertyID: number, inProc: (p1: number, p2: interop.PointerConvertible) => number): number;

declare function AudioDeviceAddIOProc(inDevice: number, inProc: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioDeviceRemoveIOProc(inDevice: number, inProc: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible, p6: interop.PointerConvertible, p7: interop.PointerConvertible) => number): number;

declare function AudioDeviceRead(inDevice: number, inStartTime: interop.PointerConvertible, outData: interop.PointerConvertible): number;

declare function AudioDeviceGetPropertyInfo(inDevice: number, inChannel: number, isInput: number, inPropertyID: number, outSize: interop.PointerConvertible, outWritable: interop.PointerConvertible): number;

declare function AudioDeviceGetProperty(inDevice: number, inChannel: number, isInput: number, inPropertyID: number, ioPropertyDataSize: interop.PointerConvertible, outPropertyData: interop.PointerConvertible): number;

declare function AudioDeviceSetProperty(inDevice: number, inWhen: interop.PointerConvertible, inChannel: number, isInput: number, inPropertyID: number, inPropertyDataSize: number, inPropertyData: interop.PointerConvertible): number;

declare function AudioDeviceAddPropertyListener(inDevice: number, inChannel: number, isInput: number, inPropertyID: number, inProc: (p1: number, p2: number, p3: number, p4: number, p5: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioDeviceRemovePropertyListener(inDevice: number, inChannel: number, isInput: number, inPropertyID: number, inProc: (p1: number, p2: number, p3: number, p4: number, p5: interop.PointerConvertible) => number): number;

declare function AudioStreamGetPropertyInfo(inStream: number, inChannel: number, inPropertyID: number, outSize: interop.PointerConvertible, outWritable: interop.PointerConvertible): number;

declare function AudioStreamGetProperty(inStream: number, inChannel: number, inPropertyID: number, ioPropertyDataSize: interop.PointerConvertible, outPropertyData: interop.PointerConvertible): number;

declare function AudioStreamSetProperty(inStream: number, inWhen: interop.PointerConvertible, inChannel: number, inPropertyID: number, inPropertyDataSize: number, inPropertyData: interop.PointerConvertible): number;

declare function AudioStreamAddPropertyListener(inStream: number, inChannel: number, inPropertyID: number, inProc: (p1: number, p2: number, p3: number, p4: interop.PointerConvertible) => number, inClientData: interop.PointerConvertible): number;

declare function AudioStreamRemovePropertyListener(inStream: number, inChannel: number, inPropertyID: number, inProc: (p1: number, p2: number, p3: number, p4: interop.PointerConvertible) => number): number;

declare function AudioGetCurrentHostTime(): number;

declare function AudioGetHostClockFrequency(): number;

declare function AudioGetHostClockMinimumTimeDelta(): number;

declare function AudioConvertHostTimeToNanos(inHostTime: number): number;

declare function AudioConvertNanosToHostTime(inNanos: number): number;

declare function AudioHardwareCreateProcessTap(inDescription: CATapDescription, outTapID: interop.PointerConvertible): number;

declare function AudioHardwareDestroyProcessTap(inTapID: number): number;

declare class CATapDescription extends NSObject {
  init(): this;

  initStereoMixdownOfProcesses(processesObjectIDsToIncludeInTap: NSArray<interop.Object> | Array<interop.Object>): this;

  initStereoGlobalTapButExcludeProcesses(processesObjectIDsToExcludeFromTap: NSArray<interop.Object> | Array<interop.Object>): this;

  initMonoMixdownOfProcesses(processesObjectIDsToIncludeInTap: NSArray<interop.Object> | Array<interop.Object>): this;

  initMonoGlobalTapButExcludeProcesses(processesObjectIDsToExcludeFromTap: NSArray<interop.Object> | Array<interop.Object>): this;

  initWithProcessesAndDeviceUIDWithStream(processesObjectIDsToIncludeInTap: NSArray<interop.Object> | Array<interop.Object>, deviceUID: string, stream: number): this;

  initExcludingProcessesAndDeviceUIDWithStream(processesObjectIDsToExcludeFromTap: NSArray<interop.Object> | Array<interop.Object>, deviceUID: string, stream: number): this;

  name: string;

  UUID: NSUUID;

  get processes(): NSArray;
  set processes(value: NSArray<interop.Object> | Array<interop.Object>);

  get bundleIDs(): NSArray;
  set bundleIDs(value: NSArray<interop.Object> | Array<interop.Object>);

  mono: boolean;

  exclusive: boolean;

  mixdown: boolean;

  privateTap: boolean;

  processRestoreEnabled: boolean;

  muteBehavior: interop.Enum<typeof CATapMuteBehavior>;

  deviceUID: string;

  stream: NSNumber;

  setName(name: string): void;

  setUUID(UUID: NSUUID): void;

  setProcesses(processes: NSArray<interop.Object> | Array<interop.Object>): void;

  setBundleIDs(bundleIDs: NSArray<interop.Object> | Array<interop.Object>): void;

  isMono(): boolean;

  setMono(mono: boolean): void;

  isExclusive(): boolean;

  setExclusive(exclusive: boolean): void;

  isMixdown(): boolean;

  setMixdown(mixdown: boolean): void;

  isPrivate(): boolean;

  setPrivate(privateTap: boolean): void;

  isProcessRestoreEnabled(): boolean;

  setProcessRestoreEnabled(processRestoreEnabled: boolean): void;

  isMuted(): interop.Enum<typeof CATapMuteBehavior>;

  setMuteBehavior(muteBehavior: interop.Enum<typeof CATapMuteBehavior>): void;

  setDeviceUID(deviceUID: string | null): void;

  setStream(stream: NSNumber): void;
}

