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

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorScale: interop.Object;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorFrameRect: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_MouseAndKeyboardModifiers: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_ClientSequenceID: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_RepeatedBufferContents: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_HostTime: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_NumberOfVideoFramesInBuffer: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_SMPTETime: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_CAAudioTimeStamp: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_HDV2_VAUX: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_HDV1_PackData: interop.Object;

declare const kCMIOSampleBufferAttachmentKey_DiscontinuityFlags: interop.Object;

declare const kCMIOSampleBufferNoDataEvent_SleepWakeCycle: number;

declare const kCMIOSampleBufferNoDataEvent_ProcessingError: number;

declare const kCMIOSampleBufferNoDataEvent_DeviceDidNotSync: number;

declare const kCMIOSampleBufferNoDataEvent_NoMedia: number;

declare const kCMIOSampleBufferDiscontinuityFlag_CodecSettingsChanged: number;

declare const kCMIOSampleBufferDiscontinuityFlag_SleepWakeCycle: number;

declare const kCMIOSampleBufferDiscontinuityFlag_DataFormatChanged: number;

declare const kCMIOSampleBufferDiscontinuityFlag_NoDataMarker: number;

declare const kCMIOSampleBufferDiscontinuityFlag_TrickPlay: number;

declare const kCMIOSampleBufferDiscontinuityFlag_MalformedData: number;

declare const kCMIOSampleBufferDiscontinuityFlag_PacketError: number;

declare const kCMIOSampleBufferDiscontinuityFlag_TimecodeDiscontinuity: number;

declare const kCMIOSampleBufferDiscontinuityFlag_UnknownDiscontinuity: number;

declare const kCMIOSampleBufferNoDiscontinuities: number;

declare const kCMIOPlugInPropertyBundleID: number;

declare const kCMIOPlugInClassID: number;

declare const kCMIODeviceUnsupportedFormatError: number;

declare const kCMIOHardwareSuspendedBySystemError: number;

declare const kCMIOHardwareBadStreamError: number;

declare const kCMIOHardwareBadPropertySizeError: number;

declare const kCMIOHardwareUnknownPropertyError: number;

declare const kCMIOHardwareUnspecifiedError: number;

declare const kCMIOHardwareNotRunningError: number;

declare const kCMIOHardwareNotStoppedError: number;

declare const kCMIOExposureControlPropertyMaximumGain: number;

declare const kCMIOExposureControlPropertyIntegrationTime: number;

declare const kCMIOExposureControlPropertyStable: number;

declare const kCMIOExposureControlPropertyConvergenceSpeed: number;

declare const kCMIOExposureControlPropertyTarget: number;

declare const kCMIOExposureControlPropertyLockThreshold: number;

declare const kCMIOFeatureControlPropertyNativeDataRange: number;

declare const kCMIOFeatureControlPropertyNativeData: number;

declare const kCMIOFeatureControlPropertyAbsoluteUnitName: number;

declare const kCMIOFeatureControlPropertyConvertAbsoluteToNative: number;

declare const kCMIOFeatureControlPropertyConvertNativeToAbsolute: number;

declare const kCMIOFeatureControlPropertyAbsoluteRange: number;

declare const kCMIOFeatureControlPropertyNativeRange: number;

declare const kCMIOFeatureControlPropertyAbsoluteValue: number;

declare const kCMIOFeatureControlPropertyNativeValue: number;

declare const kCMIOFeatureControlPropertyTune: number;

declare const kCMIOFeatureControlPropertyOnOff: number;

declare const kCMIOSelectorControlPropertyAvailableItems: number;

declare const kCMIOBooleanControlPropertyValue: number;

declare const kCMIONoiseReductionControlClassID: number;

declare const kCMIOTiltControlClassID: number;

declare const kCMIOPanControlClassID: number;

declare const kCMIOFocusControlClassID: number;

declare const kCMIOTemperatureControlClassID: number;

declare const kCMIOGammaControlClassID: number;

declare const kCMIOWhiteBalanceUControlClassID: number;

declare const kCMIOExposureControlClassID: number;

declare const kCMIODataSourceControlClassID: number;

declare const kCMIODirectionControlClassID: number;

declare const kCMIOFeatureControlClassID: number;

declare const kCMIOBooleanControlClassID: number;

declare const kCMIODevicePropertyLocationExternalWirelessDevice: number;

declare const kCMIODevicePropertyLocationExternalDevice: number;

declare const kCMIODevicePropertyLocationBuiltInDisplay: number;

declare const kCMIODevicePropertyIIDCInitialUnitSpace: number;

declare const kCMIODevicePropertyLinkedAndSyncedCoreAudioDeviceUID: number;

declare const kCMIODevicePropertyVideoDigitizerComponents: number;

declare const kCMIODevicePropertyLinkedCoreAudioDeviceUID: number;

declare const kCMIODevicePropertyAVCDeviceType: number;

declare const kCMIODevicePropertyCanProcessAVCCommand: number;

declare const kCMIODevicePropertyClientSyncDiscontinuity: number;

declare const kCMIODevicePropertyExcludeNonDALAccess: number;

declare const kCMIODevicePropertyLatency: number;

declare const kCMIODevicePropertyHogMode: number;

declare const kCMIODevicePropertyDeviceCanBeDefaultDevice: number;

declare const kCMIODevicePropertyTransportType: number;

declare const kCMIODevicePropertyModelUID: number;

declare const kCMIODeviceAVCSignalModeDVCPro50_525_60: number;

declare const kCMIODeviceAVCSignalModeDVCPro25_525_60: number;

declare const kCMIODeviceAVCSignalModeHDV2_50: number;

declare const kCMIODeviceAVCSignalModeMicroMV6Mbps_50: number;

declare const kCMIODeviceAVCSignalModeMicroMV12Mbps_50: number;

declare const kCMIODeviceAVCSignalModeHi8PAL: number;

declare const kCMIODeviceAVCSignalModeSVHS625_50: number;

declare const kCMIODeviceAVCSignalModeVHSMESECAM: number;

declare const kCMIODeviceAVCSignalModeVHSSECAM: number;

declare const kCMIODeviceAVCSignalModeVHSNPAL: number;

declare const kCMIODeviceAVCSignalModeVHSNTSC: number;

declare const kCMIODeviceAVCSignalModeDVHS: number;

declare const kCMIODeviceAVCSignalModeMPEG12Mbps_50: number;

declare const kCMIODeviceAVCSignalModeHDV1_50: number;

declare const kCMIODeviceAVCSignalModeMPEG25Mbps_50: number;

declare const kCMIODeviceAVCSignalModeMPEG6Mbps_60: number;

declare const kCMIODeviceAVCSignalModeMPEG12Mbps_60: number;

declare const kCMIODeviceAVCSignalModeHDV1_60: number;

declare const kCMIODeviceAVCSignalModeHD1250_50: number;

declare const kCMIODeviceAVCSignalModeSDL625_50: number;

declare const kCMIODeviceAVCSignalModeSD625_50: number;

declare const kCMIODeviceAVCSignalModeHD1125_60: number;

declare const kCMIODeviceAVCSignalModeSD525_60: number;

declare const kCMIOAVCDeviceType_DVCPro100_PAL: number;

declare const kCMIOAVCDeviceType_DVCPro50_PAL: number;

declare const kCMIOAVCDeviceType_DVCPro_PAL: number;

declare const kCMIOAVCDeviceType_DVCPro_NTSC: number;

declare const kCMIOAVCDeviceType_Unknown: number;

declare const kCMIODeviceClassID: number;

declare const kCMIODevicePropertyScopePlayThrough: number;

declare const kCMIODevicePropertyScopeOutput: number;

declare const kCMIODevicePropertyScopeInput: number;

declare const kCMIOStreamPropertyPreferredFrameRate: number;

declare const kCMIOStreamPropertyInitialPresentationTimeStampForLinkedAndSyncedAudio: number;

declare const kCMIOStreamPropertyDeckLocal: number;

declare const kCMIOStreamPropertyEndOfData: number;

declare const kCMIOStreamPropertyFirstOutputPresentationTimeStamp: number;

declare const kCMIOStreamPropertyOutputBuffersRequiredForStartup: number;

declare const kCMIOStreamPropertyOutputBufferQueueSize: number;

declare const kCMIOStreamPropertyOutputBufferRepeatCount: number;

declare const kCMIOStreamPropertyNoDataEventCount: number;

declare const kCMIOStreamPropertyDeviceSyncTimeoutInMSec: number;

declare const kCMIOStreamPropertyNoDataTimeoutInMSec: number;

declare const kCMIOStreamPropertyFrameRates: number;

declare const kCMIOStreamPropertyMinimumFrameRate: number;

declare const kCMIOStreamPropertyStillImage: number;

declare const kCMIOStreamPropertyFormatDescription: number;

declare const kCMIOStreamPropertyStartingChannel: number;

declare const kCMIODeckShuttlePlayHighSpeed: number;

declare const kCMIODeckShuttlePlayFastest: number;

declare const kCMIODeckShuttlePlayFast: number;

declare const kCMIODeckShuttlePlay1x: number;

declare const kCMIODeckShuttlePlaySlow3: number;

declare const kCMIODeckShuttlePlaySlow1: number;

declare const kCMIODeckShuttlePause: number;

declare const kCMIODeckShuttlePlayPreviousFrame: number;

declare const kCMIODeckShuttleReverseSlow1: number;

declare const kCMIODeckShuttleReverse1x: number;

declare const kCMIODevicePermissionsError: number;

declare const kCMIODeckShuttleReverseFast: number;

declare const kCMIODeckShuttleReverseFastest: number;

declare const kCMIODeckShuttleReverseHighSpeed: number;

declare const kCMIODeckStateFastForward: number;

declare const kCMIODeckStatePlayReverse: number;

declare const kCMIODeckStatePlay: number;

declare const kCMIODeckStatusOpcode: number;

declare const kCMIODeckStatusNotThreaded: number;

declare const kCMIOStreamUnknown: number;

declare const kCMIOHardwarePropertyDeviceForUID: number;

declare const kCMIOHardwarePropertyDefaultOutputDevice: number;

declare const kCMIOHardwarePropertyDefaultInputDevice: number;

declare const kCMIOHardwarePropertyDevices: number;

declare const kCMIOHardwarePropertyIsInitingOrExiting: number;

declare const kCMIOHardwarePropertyProcessIsMaster: number;

declare const kCMIOSystemObjectClassID: number;

declare const kCMIOObjectPropertyListenerRemoved: number;

declare const kCMIOObjectPropertyListenerAdded: number;

declare const kCMIOObjectPropertyOwnedObjects: number;

declare const kCMIOObjectPropertyElementNumberName: number;

declare const kCMIOObjectPropertyManufacturer: number;

declare const kCMIOObjectPropertyCreator: number;

declare const kCMIOObjectPropertyOwner: number;

declare const kCMIOObjectUnknown: number;

declare const kCMIOObjectClassIDWildcard: number;

declare const kCMIOObjectPropertyElementMaster: number;

declare const kCMIOObjectPropertyElementMain: number;

declare const kCMIOObjectPropertyScopeGlobal: number;

declare const kCMIOObjectPropertySelectorWildcard: number;

declare const kCMIODeckShuttlePlayNextFrame: number;

declare const kCMIODeviceAVCSignalModeVHSPAL: number;

declare const kCMIODeckStatusBusy: number;

declare const kCMIOGainControlClassID: number;

declare const kCMIODeckShuttlePlaySlow2: number;

declare const kCMIODevicePropertyLocationExternalDisplay: number;

declare const kCMIODeviceAVCSignalModeVHSMPAL: number;

declare const kCMIODeviceAVCSignalModeHi8NTSC: number;

declare const kCMIODevicePropertyDeviceControl: number;

declare const kCMIODevicePropertySMPTETimeCallback: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorReference: interop.Object;

declare const kCMIOObjectClassID: number;

declare const kCMIOHardwareUnsupportedOperationError: number;

declare const kCMIODevicePropertyCanProcessRS422Command: number;

declare const kCMIOSampleBufferDiscontinuityFlag_BufferOverrun: number;

declare const kCMIOAVCDeviceType_DVCProHD_1080i50: number;

declare const kCMIOStreamPropertyDeck: number;

declare const kCMIOObjectPropertyElementWildcard: number;

declare const kCMIOAVCDeviceType_DV_PAL: number;

declare const kCMIODevicePropertyDeviceIsAlive: number;

declare const kCMIOSampleBufferDiscontinuityFlag_TimingReferenceJumped: number;

declare const kCMIOSampleBufferNoDataEvent_Unknown: number;

declare const kCMIOSelectorControlClassID: number;

declare const kCMIODevicePropertyDeviceIsRunningSomewhere: number;

declare const kCMIOZoomRelativeControlClassID: number;

declare const kCMIOObjectPropertyName: number;

declare const kCMIODeviceAVCSignalModeDVCPro100_50: number;

declare const kCMIOSelectorControlPropertyAvailableItemNames: number;

declare const kCMIOStreamPropertyOutputBuffersNeededForThrottledPlayback: number;

declare const kCMIOStreamPropertyDeckDropness: number;

declare const kCMIOAVCDeviceType_DVCPro100_NTSC: number;

declare const kCMIOSampleBufferAttachmentKey_MuxedSourcePresentationTimeStamp: interop.Object;

declare const kCMIOBlockBufferAttachmentKey_CVPixelBufferReference: interop.Object;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_KeyboardModifiers: interop.Object;

declare const kCMIOStreamPropertyPreferredFormatDescription: number;

declare const kCMIOStreamClassID: number;

declare const kCMIOOpticalFilterClassID: number;

declare const kCMIOHardwarePropertyAllowScreenCaptureDevices: number;

declare const kCMIOHueControlClassID: number;

declare const kCMIOSampleBufferAttachmentKey_ClosedCaptionSampleBuffer: interop.Object;

declare const kCMIOBacklightCompensationControlClassID: number;

declare const kCMIOHardwarePropertySuspendedBySystem: number;

declare const kCMIODeviceAVCSignalMode8mmNTSC: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorPositionX: interop.Object;

declare const kCMIOControlPropertyVariant: number;

declare const kCMIOSampleBufferDiscontinuityFlag_ClientSyncDiscontinuity: number;

declare const kCMIODevicePropertyLocation: number;

declare const kCMIODeviceAVCSignalModeHDV2_60: number;

declare const kCMIOPanTiltRelativeControlClassID: number;

declare const kCMIOExposureControlPropertyRegionOfInterest: number;

declare const kCMIOHardwarePropertyUserSessionIsActiveOrHeadless: number;

declare const kCMIODeckStateStop: number;

declare const kCMIOSampleBufferNoDataEvent_DeviceInWrongMode: number;

declare const kCMIODeckShuttleReverseSlowest: number;

declare const kCMIOAVCDeviceType_DVCProHD_1080i60: number;

declare const kCMIODeckShuttleReverseSlow3: number;

declare const kCMIOSelectorControlPropertyCurrentItem: number;

declare const kCMIOStreamPropertyCanProcessDeckCommand: number;

declare const kCMIOPlugInPropertyIsExtension: number;

declare const kCMIOStreamPropertyStillImageFormatDescriptions: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_KeyboardModifiersEvent: interop.Object;

declare const kCMIODeviceAVCSignalModeSVHS525_60: number;

declare const kCMIOSampleBufferAttachmentKey_NumberOfVideoFramesInGOP: interop.Object;

declare const kCMIOFeatureControlPropertyAbsoluteNative: number;

declare const kCMIOSaturationControlClassID: number;

declare const kCMIOSampleBufferDiscontinuityFlag_DataWasFlushed: number;

declare const kCMIOPanTiltAbsoluteControlClassID: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorIsDrawnInFramebuffer: interop.Object;

declare const kCMIOHardwareIllegalOperationError: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorSeed: interop.Object;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorPositionY: interop.Object;

declare const kCMIODeviceUnknown: number;

declare const kCMIOSampleBufferAttachmentKey_PulldownCadenceInfo: interop.Object;

declare const kCMIODeviceAVCSignalModeDVCPro100_60: number;

declare const kCMIODevicePropertyPlugIn: number;

declare const kCMIOObjectSystemObject: number;

declare const kCMIOHardwareNoError: number;

declare const kCMIODevicePropertyDeviceHasStreamingError: number;

declare const kCMIOHardwarePropertySleepingIsAllowed: number;

declare const kCMIOObjectPropertyElementCategoryName: number;

declare const kCMIOWhiteBalanceVControlClassID: number;

declare const kCMIOZoomControlClassID: number;

declare const kCMIODeckStatusNoDevice: number;

declare const kCMIODevicePropertyAVCDeviceSignalMode: number;

declare const kCMIOHardwarePropertyAllowWirelessScreenCaptureDevices: number;

declare const kCMIOSampleBufferDiscontinuityFlag_StreamDiscontinuity: number;

declare const kCMIODeviceAVCSignalModeMPEG25Mbps_60: number;

declare const kCMIODeviceAVCSignalModeMicroMV6Mbps_60: number;

declare const kCMIOStreamPropertyScheduledOutputNotificationProc: number;

declare const kCMIOStreamPropertyClock: number;

declare const kCMIODevicePropertyDeviceHasChanged: number;

declare const kCMIOAVCDeviceType_DV_NTSC: number;

declare const kCMIODevicePropertySuspendedByUser: number;

declare const kCMIOSampleBufferAttachmentKey_NativeSMPTEFrameCount: interop.Object;

declare const kCMIODevicePropertyLocationUnknown: number;

declare const kCMIODeckStateReverseSlow: number;

declare const kCMIODeckStateFastRewind: number;

declare const kCMIOSampleBufferAttachmentKey_NoDataMarker: interop.Object;

declare const kCMIODeckStatePause: number;

declare const kCMIODeviceAVCSignalModeMicroMV12Mbps_60: number;

declare const kCMIOWhiteLevelControlClassID: number;

declare const kCMIOControlPropertyElement: number;

declare const kCMIOSampleBufferAttachmentKey_SourceAudioFormatDescription: interop.Object;

declare const kCMIODeviceAVCSignalModeSDL525_60: number;

declare const kCMIOHardwarePropertyPlugInForBundleID: number;

declare const kCMIOFeatureControlPropertyAutomaticManual: number;

declare const kCMIOSampleBufferDiscontinuityFlag_DataWasDropped: number;

declare const kCMIOControlPropertyScope: number;

declare const kCMIOContrastControlClassID: number;

declare const kCMIOStreamPropertyDeckThreaded: number;

declare const kCMIODataDestinationControlClassID: number;

declare const kCMIOStreamPropertyDeckCueing: number;

declare const kCMIODevicePropertyCanSwitchFrameRatesWithoutFrameDrops: number;

declare const kCMIODeckStatePlaySlow: number;

declare const kCMIOStreamPropertyLatency: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_CursorIsVisible: interop.Object;

declare const kCMIODevicePropertyStreams: number;

declare const kCMIOSampleBufferDiscontinuityFlag_RelatedToDiscontinuity: number;

declare const kCMIOStreamPropertyFrameRate: number;

declare const kCMIOBrightnessControlClassID: number;

declare const kCMIODeckShuttleReverseFaster: number;

declare const kCMIOHardwareBadDeviceError: number;

declare const kCMIOJackControlClassID: number;

declare const kCMIOStreamPropertyDeckFrameNumber: number;

declare const kCMIOStreamPropertyOutputBufferUnderrunCount: number;

declare const kCMIODevicePropertyIIDCCSRData: number;

declare const kCMIOStreamPropertyFormatDescriptions: number;

declare const kCMIODeckShuttlePlayFaster: number;

declare const kCMIOSharpnessControlClassID: number;

declare const kCMIOExposureControlPropertyUnlockThreshold: number;

declare const kCMIOObjectPropertyClass: number;

declare const kCMIOWhiteBalanceControlClassID: number;

declare const kCMIOSampleBufferAttachment_MouseAndKeyboardModifiersKey_MouseButtonState: interop.Object;

declare const kCMIOSampleBufferDiscontinuityFlag_DiscontinuityInDTS: number;

declare const kCMIODeckStatusTapeInserted: number;

declare const kCMIOSampleBufferAttachmentKey_SequenceNumber: interop.Object;

declare const kCMIODeckShuttleReverseSlow2: number;

declare const kCMIOStreamPropertyFrameRateRanges: number;

declare const kCMIOExposureControlPropertyStability: number;

declare const kCMIODeviceAVCSignalModeAudio: number;

declare const kCMIODevicePropertyStreamConfiguration: number;

declare const kCMIOAVCDeviceType_DVCPro100_720p: number;

declare const kCMIOStreamPropertyTerminalType: number;

declare const kCMIORollAbsoluteControlClassID: number;

declare const kCMIOHardwareBadObjectError: number;

declare const kCMIODevicePropertyDeviceUID: number;

declare const kCMIODeckShuttlePlaySlowest: number;

declare const kCMIOHardwarePropertyUnloadingIsAllowed: number;

declare const kCMIODeviceAVCSignalModeDVCPro50_625_50: number;

declare const kCMIOObjectPropertyElementName: number;

declare const kCMIOBlackLevelControlClassID: number;

declare const kCMIOSelectorControlPropertyItemName: number;

declare const kCMIOControlClassID: number;

declare const kCMIOPowerLineFrequencyControlClassID: number;

declare const kCMIOSampleBufferDiscontinuityFlag_DurationWasExtended: number;

declare const kCMIOHardwarePropertyProcessIsMain: number;

declare const kCMIODeviceAVCSignalModeDVCPro25_625_50: number;

declare const kCMIODeckStatusLocal: number;

declare const kCMIOIrisControlClassID: number;

declare const kCMIODevicePropertyDeviceMaster: number;

declare const kCMIOShutterControlClassID: number;

declare const kCMIOStreamPropertyDirection: number;

declare const kCMIOAVCDeviceType_DVCPro50_NTSC: number;

declare const kCMIODeviceAVCSignalModeMPEG6Mbps_50: number;

declare const kCMIOObjectPropertyScopeWildcard: number;

declare const kCMIOAVCDeviceType_MPEG2: number;

declare const kCMIODevicePropertyDeviceIsRunning: number;

declare const kCMIODeckStatusSearchingForDevice: number;

declare const kCMIODeviceAVCSignalMode8mmPAL: number;

declare class CMIODeviceRS422Command {
  constructor(init?: CMIODeviceRS422Command);
  mCommand: interop.Pointer;
  mCommandLength: number;
  mResponse: interop.Pointer;
  mResponseLength: number;
  mResponseUsed: number;
}

declare class CMIODeviceSMPTETimeCallback {
  constructor(init?: CMIODeviceSMPTETimeCallback);
  mGetSMPTETimeProc: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number | null;
  mRefCon: interop.Pointer;
}

declare class CMIODeviceStreamConfiguration {
  constructor(init?: CMIODeviceStreamConfiguration);
  mNumberStreams: number;
  mNumberChannels: interop.Pointer;
}

declare class CMIOStreamDeck {
  constructor(init?: CMIOStreamDeck);
  mStatus: number;
  mState: number;
  mState2: number;
}

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

declare class CMIODeviceAVCCommand {
  constructor(init?: CMIODeviceAVCCommand);
  mCommand: interop.Pointer;
  mCommandLength: number;
  mResponse: interop.Pointer;
  mResponseLength: number;
  mResponseUsed: number;
}

declare class CMIOStreamScheduledOutputNotificationProcAndRefCon {
  constructor(init?: CMIOStreamScheduledOutputNotificationProcAndRefCon);
  scheduledOutputNotificationProc: (p1: number, p2: number, p3: interop.PointerConvertible) => void | null;
  scheduledOutputNotificationRefCon: interop.Pointer;
}

declare class CMIOHardwarePlugInInterface {
  constructor(init?: CMIOHardwarePlugInInterface);
  _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) => number | null;
  InitializeWithObjectID: (p1: interop.PointerConvertible, p2: number) => number | null;
  Teardown: (p1: interop.PointerConvertible) => number | null;
  ObjectShow: (p1: interop.PointerConvertible, p2: number) => void | null;
  ObjectHasProperty: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number | null;
  ObjectIsPropertySettable: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number | null;
  ObjectGetPropertyDataSize: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible, p4: number, p5: interop.PointerConvertible, p6: interop.PointerConvertible) => number | null;
  ObjectGetPropertyData: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible, p4: number, p5: interop.PointerConvertible, p6: number, p7: interop.PointerConvertible, p8: interop.PointerConvertible) => number | null;
  ObjectSetPropertyData: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible, p4: number, p5: interop.PointerConvertible, p6: number, p7: interop.PointerConvertible) => number | null;
  DeviceSuspend: (p1: interop.PointerConvertible, p2: number) => number | null;
  DeviceResume: (p1: interop.PointerConvertible, p2: number) => number | null;
  DeviceStartStream: (p1: interop.PointerConvertible, p2: number, p3: number) => number | null;
  DeviceStopStream: (p1: interop.PointerConvertible, p2: number, p3: number) => number | null;
  DeviceProcessAVCCommand: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number | null;
  DeviceProcessRS422Command: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number | null;
  StreamCopyBufferQueue: (p1: interop.PointerConvertible, p2: number, p3: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible) => void, p4: interop.PointerConvertible, p5: interop.PointerConvertible) => number | null;
  StreamDeckPlay: (p1: interop.PointerConvertible, p2: number) => number | null;
  StreamDeckStop: (p1: interop.PointerConvertible, p2: number) => number | null;
  StreamDeckJog: (p1: interop.PointerConvertible, p2: number, p3: number) => number | null;
  StreamDeckCueTo: (p1: interop.PointerConvertible, p2: number, p3: number, p4: number) => number | null;
}

declare function CMIOObjectShow(objectID: number): void;

declare function CMIOObjectHasProperty(objectID: number, address: interop.PointerConvertible): number;

declare function CMIOObjectIsPropertySettable(objectID: number, address: interop.PointerConvertible, isSettable: interop.PointerConvertible): number;

declare function CMIOObjectGetPropertyDataSize(objectID: number, address: interop.PointerConvertible, qualifierDataSize: number, qualifierData: interop.PointerConvertible, dataSize: interop.PointerConvertible): number;

declare function CMIOObjectGetPropertyData(objectID: number, address: interop.PointerConvertible, qualifierDataSize: number, qualifierData: interop.PointerConvertible, dataSize: number, dataUsed: interop.PointerConvertible, data: interop.PointerConvertible): number;

declare function CMIOObjectSetPropertyData(objectID: number, address: interop.PointerConvertible, qualifierDataSize: number, qualifierData: interop.PointerConvertible, dataSize: number, data: interop.PointerConvertible): number;

declare function CMIOObjectAddPropertyListener(objectID: number, address: interop.PointerConvertible, listener: (p1: number, p2: number, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number, clientData: interop.PointerConvertible): number;

declare function CMIOObjectRemovePropertyListener(objectID: number, address: interop.PointerConvertible, listener: (p1: number, p2: number, p3: interop.PointerConvertible, p4: interop.PointerConvertible) => number, clientData: interop.PointerConvertible): number;

declare function CMIOObjectAddPropertyListenerBlock(objectID: number, address: interop.PointerConvertible, dispatchQueue: NSObject, listener: (p1: number, p2: interop.PointerConvertible) => void): number;

declare function CMIOObjectRemovePropertyListenerBlock(objectID: number, address: interop.PointerConvertible, dispatchQueue: NSObject, listener: (p1: number, p2: interop.PointerConvertible) => void): number;

declare function CMIOStreamCopyBufferQueue(streamID: number, queueAlteredProc: (p1: number, p2: interop.PointerConvertible, p3: interop.PointerConvertible) => void, queueAlteredRefCon: interop.PointerConvertible, queue: interop.PointerConvertible): number;

declare function CMIOStreamDeckPlay(streamID: number): number;

declare function CMIOStreamDeckStop(streamID: number): number;

declare function CMIOStreamDeckJog(streamID: number, speed: number): number;

declare function CMIOStreamDeckCueTo(streamID: number, frameNumber: number, playOnCue: number): number;

declare function CMIOStreamClockCreate(allocator: interop.Object, clockName: interop.Object, sourceIdentifier: interop.PointerConvertible, getTimeCallMinimumInterval: CMTime, numberOfEventsForRateSmoothing: number, numberOfAveragesForRateSmoothing: number, clock: interop.PointerConvertible): number;

declare function CMIOStreamClockPostTimingEvent(eventTime: CMTime, hostTime: number, resynchronize: number, clock: interop.Object): number;

declare function CMIOStreamClockInvalidate(clock: interop.Object): number;

declare function CMIOStreamClockConvertHostTimeToDeviceTime(hostTime: number, clock: interop.Object): CMTime;

declare function CMIODeviceStartStream(deviceID: number, streamID: number): number;

declare function CMIODeviceStopStream(deviceID: number, streamID: number): number;

declare function CMIODeviceProcessAVCCommand(deviceID: number, ioAVCCommand: interop.PointerConvertible): number;

declare function CMIODeviceProcessRS422Command(deviceID: number, ioRS422Command: interop.PointerConvertible): number;

declare function CMIOObjectCreate(owningPlugIn: interop.PointerConvertible, owningObjectID: number, classID: number, objectID: interop.PointerConvertible): number;

declare function CMIOObjectsPublishedAndDied(owningPlugIn: interop.PointerConvertible, owningObjectID: number, numberPublishedCMIOObjects: number, publishedCMIOObjects: interop.Pointer, numberDeadCMIOObjects: number, deadCMIOObjects: interop.Pointer): number;

declare function CMIOObjectPropertiesChanged(owningPlugIn: interop.PointerConvertible, objectID: number, numberAddresses: number, addresses: interop.Pointer): number;

declare function CMIOSampleBufferCreate(allocator: interop.Object, dataBuffer: interop.Object, formatDescription: interop.Object, numSamples: number, numSampleTimingEntries: number, sampleTimingArray: interop.PointerConvertible, numSampleSizeEntries: number, sampleSizeArray: interop.PointerConvertible, sequenceNumber: number, discontinuityFlags: number, sBufOut: interop.PointerConvertible): number;

declare function CMIOSampleBufferCreateForImageBuffer(allocator: interop.Object, imageBuffer: interop.Object, formatDescription: interop.Object, sampleTiming: interop.PointerConvertible, sequenceNumber: number, discontinuityFlags: number, sBufOut: interop.PointerConvertible): number;

declare function CMIOSampleBufferCreateNoDataMarker(allocator: interop.Object, noDataEvent: number, formatDescription: interop.Object, sequenceNumber: number, discontinuityFlags: number, sBufOut: interop.PointerConvertible): number;

declare function CMIOSampleBufferSetSequenceNumber(allocator: interop.Object, sbuf: interop.Object, sequenceNumber: number): void;

declare function CMIOSampleBufferGetSequenceNumber(sbuf: interop.Object): number;

declare function CMIOSampleBufferSetDiscontinuityFlags(allocator: interop.Object, sbuf: interop.Object, discontinuityFlags: number): void;

declare function CMIOSampleBufferGetDiscontinuityFlags(sbuf: interop.Object): number;

declare function CMIOSampleBufferCopyNonRequiredAttachments(sourceSBuf: interop.Object, destSBuf: interop.Object, attachmentMode: number): number;

declare function CMIOSampleBufferCopySampleAttachments(sourceSBuf: interop.Object, destSBuf: interop.Object): number;

