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

declare const kDRCDTextGenreCodeRhythmAndBlues: number;

declare const kDRCDTextGenreCodeKey: interop.Pointer;

declare const DRUDFRealTimeFile: string;

declare const DRDeviceMediaTypeKey: string;

declare const kDRStatusCurrentSessionKey: interop.Pointer;

declare const kDRErrorStatusAdditionalSenseStringKey: interop.Pointer;

declare const DRIndexPointsKey: string;

declare const DRDeviceCanWriteDVDRWKey: string;

declare const DRErrorStatusErrorStringKey: string;

declare const DRDeviceIsBusyKey: string;

declare const DRMediaCatalogNumberKey: string;

declare const DRUDFWriteVersion: string;

declare const kDRErrorStatusErrorKey: interop.Pointer;

declare const DRDeviceMaximumWriteSpeedKey: string;

declare const DRDeviceMediaFreeSpaceKey: string;

declare const kDRCDTextGenreCodeErotic: number;

declare const DRDeviceCanWriteCDKey: string;

declare const kDRStatusStateVerifying: interop.Pointer;

declare const DRCDTextGenreCodeHipHop: number;

declare const DRErrorStatusErrorKey: string;

declare const DRErrorStatusKey: string;

declare const DRStatusStateSessionOpen: string;

declare const DRStatusStateDone: string;

declare const DRStatusStatePreparing: string;

declare const DRStatusStateNone: string;

declare const DRStatusEraseTypeKey: string;

declare const DRStatusCurrentSpeedKey: string;

declare const DRStatusTotalSessionsKey: string;

declare const DRStatusPercentCompleteKey: string;

declare const DRStatusStateKey: string;

declare const DRFileForkData: number;

declare const DRLinkTypeFinderAlias: string;

declare const DRLinkTypeSymbolicLink: string;

declare const DRUDFVolumeSetImplementationUse: string;

declare const DRUDFVolumeSetTimestamp: string;

declare const DRUDFApplicationIdentifierSuffix: string;

declare const DRUDFMaxVolumeSequenceNumber: string;

declare const DRUDFVolumeSequenceNumber: string;

declare const DRUDFVersion150: string;

declare const DRMacFinderHideExtension: string;

declare const DRMacExtendedFinderFlags: string;

declare const DRMacFinderFlags: string;

declare const DRMacScrollPosition: string;

declare const DRMacWindowBounds: string;

declare const DRMacFileCreator: string;

declare const DRPosixFileMode: string;

declare const DREffectiveDate: string;

declare const DRBackupDate: string;

declare const DRAttributeModificationDate: string;

declare const DRInvisible: string;

declare const DRUDF: string;

declare const DRHFSPlus: string;

declare const DRISO9660LevelTwo: string;

declare const DRISO9660LevelOne: string;

declare const DRFilesystemInclusionMaskISO9660: number;

declare const DREraseTypeQuick: string;

declare const DRCDTextSizeKey: string;

declare const DRCDTextTOC2Key: string;

declare const DRCDTextGenreCodeKey: string;

declare const DRCDTextDiscIdentKey: string;

declare const DRCDTextPerformerKey: string;

declare const DRCDTextCopyrightAssertedForTitlesKey: string;

declare const DRCDTextCopyrightAssertedForNamesKey: string;

declare const DRCDTextGenreCodeWorldMusic: number;

declare const DRCDTextGenreCodeSpokenWord: number;

declare const DRCDTextGenreCodeSoundEffects: number;

declare const DRCDTextGenreCodeRhythmAndBlues: number;

declare const DRCDTextGenreCodeReggae: number;

declare const DRCDTextGenreCodeOperetta: number;

declare const DRCDTextGenreCodeErotic: number;

declare const DRCDTextGenreCodeEasyListening: number;

declare const DRCDTextGenreCodeAlternativeRock: number;

declare const DRCDTextGenreCodeAdultContemporary: number;

declare const DRCDTextGenreCodeUnknown: number;

declare const DRBurnStrategyCDTAO: string;

declare const DRBurnFailureActionNone: string;

declare const DRBurnStrategyIsRequiredKey: string;

declare const DRBurnTestingKey: string;

declare const DRBurnUnderrunProtectionKey: string;

declare const DRBurnVerifyDiscKey: string;

declare const DRFilesystemInclusionMaskJoliet: number;

declare const DRBurnOverwriteDiscKey: string;

declare const DRBurnRequestedSpeedKey: string;

declare const DRSubchannelDataFormPack: string;

declare const DRVolumeExpirationDate: string;

declare const DRVolumeCheckedDate: string;

declare const DRVolumeModificationDate: string;

declare const DRDefaultDate: string;

declare const DRBlockSize: string;

declare const DRSystemIdentifier: string;

declare const DRDataPreparer: string;

declare const DRPublisher: string;

declare const DRVolumeSet: string;

declare const DRISOLevel: string;

declare const DRTrackPacketTypeFixed: string;

declare const DRTrackTypeReserved: string;

declare const DRTrackTypeIncomplete: string;

declare const DRTrackTypeKey: string;

declare const DRSessionNumberKey: string;

declare const DRTrackStartAddressKey: string;

declare const DRNextWritableAddressKey: string;

declare const DRVerificationTypeNone: string;

declare const DRVerificationTypeReceiveData: string;

declare const DRVerificationTypeProduceAgain: string;

declare const DRTrackISRCKey: string;

declare const DRPreGapIsRequiredKey: string;

declare const DRPreGapLengthKey: string;

declare const DRMaxBurnSpeedKey: string;

declare const DRVerificationTypeKey: string;

declare const DRBlockSizeKey: string;

declare const DRDeviceMediaTypeUnknown: string;

declare const DRDeviceMediaTypeHDDVDRWDualLayer: string;

declare const DRDeviceMediaTypeHDDVDRAM: string;

declare const DRDeviceMediaTypeHDDVDRDualLayer: string;

declare const DRDeviceMediaTypeHDDVDR: string;

declare const DRDeviceMediaTypeBDROM: string;

declare const DRDeviceMediaTypeDVDPlusRWDoubleLayer: string;

declare const DRDeviceMediaTypeDVDPlusRDoubleLayer: string;

declare const DRDeviceMediaTypeDVDPlusR: string;

declare const DRDeviceMediaTypeDVDRW: string;

declare const DRDeviceMediaTypeDVDR: string;

declare const DRDeviceMediaClassUnknown: string;

declare const DRDeviceMediaClassDVD: string;

declare const DRDeviceMediaClassKey: string;

declare const DRDeviceMediaTrackCountKey: string;

declare const DRDeviceMediaBlocksFreeKey: string;

declare const DRDeviceMediaBlocksOverwritableKey: string;

declare const DRDeviceMediaUsedSpaceKey: string;

declare const DRDeviceMediaIsErasableKey: string;

declare const DRDeviceMediaIsOverwritableKey: string;

declare const DRDeviceMediaIsAppendableKey: string;

declare const DRDeviceMediaStateInTransition: string;

declare const DRDeviceMediaStateMediaPresent: string;

declare const DRDeviceBurnSpeedsKey: string;

declare const DRDeviceMediaInfoKey: string;

declare const DRDeviceCanTestWriteDVDKey: string;

declare const DRDeviceCanWriteCDSAOKey: string;

declare const DRDeviceCanWriteCDTextKey: string;

declare const DRDeviceCanWriteHDDVDRWDualLayerKey: string;

declare const DRDeviceCanWriteHDDVDRWKey: string;

declare const DRDeviceCanWriteHDDVDRDualLayerKey: string;

declare const DRDeviceCanWriteDVDPlusRWKey: string;

declare const DRDeviceCanWriteDVDPlusRKey: string;

declare const DRDeviceCanWriteDVDRAMKey: string;

declare const DRDeviceCanWriteDVDRKey: string;

declare const DRDeviceCanWriteCDRWKey: string;

declare const DRDeviceCanWriteKey: string;

declare const DRDevicePhysicalInterconnectLocationExternal: string;

declare const DRDevicePhysicalInterconnectUSB: string;

declare const DRDevicePhysicalInterconnectFireWire: string;

declare const DRDevicePhysicalInterconnectFibreChannel: string;

declare const DRDeviceSupportLevelAppleShipping: string;

declare const DRDeviceSupportLevelVendorSupported: string;

declare const DRDeviceSupportLevelNone: string;

declare const DRDeviceLoadingMechanismCanInjectKey: string;

declare const DRDevicePhysicalInterconnectLocationKey: string;

declare const DRDeviceFirmwareRevisionKey: string;

declare const DRDeviceProductNameKey: string;

declare const DRDeviceIORegistryEntryPathKey: string;

declare const DRDeviceSupportLevelKey: string;

declare const DRDeviceBurnSpeedDVD1x: number;

declare const kDRUDFVolumeSetTimestamp: interop.Pointer;

declare const kDRUDFVolumeSetIdentifier: interop.Pointer;

declare const kDRUDFApplicationIdentifierSuffix: interop.Pointer;

declare const kDRUDFMaxInterchangeLevel: interop.Pointer;

declare const kDRUDFMaxVolumeSequenceNumber: interop.Pointer;

declare const kDRUDFPrimaryVolumeDescriptorNumber: interop.Pointer;

declare const kDRUDFVersion102: interop.Pointer;

declare const kDRUDFWriteVersion: interop.Pointer;

declare const kDRMacExtendedFinderFlags: interop.Pointer;

declare const kDRMacIconLocation: interop.Pointer;

declare const kDRHFSPlusCatalogNodeID: interop.Pointer;

declare const kDRHFSPlusTextEncodingHint: interop.Pointer;

declare const kDRPosixGID: interop.Pointer;

declare const DRAllFilesystems: string;

declare const kDRPosixFileMode: interop.Pointer;

declare const kDRRecordingDate: interop.Pointer;

declare const kDRAttributeModificationDate: interop.Pointer;

declare const kDRCreationDate: interop.Pointer;

declare const kDRISO9660VersionNumber: interop.Pointer;

declare const kDRUDF: interop.Pointer;

declare const kDRHFSPlus: interop.Pointer;

declare const kDRJoliet: interop.Pointer;

declare const kDRISO9660LevelTwo: interop.Pointer;

declare const kDRAllFilesystems: interop.Pointer;

declare const kDRISOMacExtensions: interop.Pointer;

declare const kDRVolumeEffectiveDate: interop.Pointer;

declare const kDRVolumeCheckedDate: interop.Pointer;

declare const kDRVolumeCreationDate: interop.Pointer;

declare const kDRDefaultDate: interop.Pointer;

declare const kDRBlockSize: interop.Pointer;

declare const kDRAbstractFile: interop.Pointer;

declare const kDRApplicationIdentifier: interop.Pointer;

declare const kDRSystemIdentifier: interop.Pointer;

declare const kDRDataPreparer: interop.Pointer;

declare const kDRPublisher: interop.Pointer;

declare const kDRVolumeSet: interop.Pointer;

declare const kDRFileForkSizeEstimate: number;

declare const kDRFileForkResource: number;

declare const kDRFileMessagePostBurn: number;

declare const kDRFileMessageVerificationStarting: number;

declare const kDRFileMessageProduceData: number;

declare const kDRLinkTypeSymbolicLink: number;

declare const kDRFilesystemMaskJoliet: number;

declare const kDRStatusProgressCurrentXFactor: interop.Pointer;

declare const kDRStatusProgressCurrentKPS: interop.Pointer;

declare const DRTrackPacketTypeKey: string;

declare const kDRStatusStateFinishing: interop.Pointer;

declare const kDRStatusStateSessionOpen: interop.Pointer;

declare const kDRStatusStateDone: interop.Pointer;

declare const kDRStatusEraseTypeKey: interop.Pointer;

declare const kDRStatusPercentCompleteKey: interop.Pointer;

declare const kDRErrorStatusErrorStringKey: interop.Pointer;

declare const DRBurnStrategyKey: string;

declare const kDRErrorStatusKey: interop.Pointer;

declare const kDRDevicePreGapLengthNotValidErr: number;

declare const kDRDeviceCantWriteISRCErr: number;

declare const kDRDeviceCantWriteCDTextErr: number;

declare const kDRFilesystemsNotSupportedErr: number;

declare const kDRTooManyNameConflictsErr: number;

declare const kDRTrackReusedErr: number;

declare const kDRBurnMediaWriteFailureErr: number;

declare const kDRAudioFileNotSupportedErr: number;

declare const kDRInvalidIndexPointsErr: number;

declare const kDRSpeedTestAlreadyRunningErr: number;

declare const kDRFunctionNotSupportedErr: number;

declare const kDRUserCanceledErr: number;

declare const kDRBadLayoutErr: number;

declare const kDRTooManyTracksForDVDErr: number;

declare const kDRVerificationFailedErr: number;

declare const kDRDataProductionErr: number;

declare const kDRBurnNotAllowedErr: number;

declare const kDRBurnUnderrunErr: number;

declare const kDRDeviceNotReadyErr: number;

declare const kDRDeviceInvalidErr: number;

declare const kDRDeviceAccessErr: number;

declare const kDREraseTypeQuick: interop.Pointer;

declare const kDRCDTextSizeKey: interop.Pointer;

declare const kDRCDTextTOC2Key: interop.Pointer;

declare const kDRCDTextMCNISRCKey: interop.Pointer;

declare const kDRCDTextDiscIdentKey: interop.Pointer;

declare const kDRCDTextArrangerKey: interop.Pointer;

declare const kDRCDTextCopyrightAssertedForTitlesKey: interop.Pointer;

declare const kDRCDTextCopyrightAssertedForNamesKey: interop.Pointer;

declare const kDRCDTextCopyrightAssertedForSpecialMessagesKey: interop.Pointer;

declare const kDRCDTextCFStringEncodingKey: interop.Pointer;

declare const kDRCDTextCharacterCodeKey: interop.Pointer;

declare const kDRCDTextGenreCodeSpokenWord: number;

declare const kDRCDTextGenreCodeOperetta: number;

declare const kDRCDTextGenreCodeNewAge: number;

declare const kDRCDTextGenreCodeMusical: number;

declare const kDRCDTextGenreCodeFolk: number;

declare const kDRCDTextGenreCodeCountry: number;

declare const kDRCDTextGenreCodeClassical: number;

declare const kDRCDTextGenreCodeChildrens: number;

declare const kDRCDTextGenreCodeUnknown: number;

declare const kDRBurnStrategyCDSAO: interop.Pointer;

declare const kDRBurnFailureActionNone: interop.Pointer;

declare const kDRBurnFailureActionEject: interop.Pointer;

declare const kDRCDTextKey: interop.Pointer;

declare const kDRMediaCatalogNumberKey: interop.Pointer;

declare const kDRBurnFailureActionKey: interop.Pointer;

declare const kDRBurnCompletionActionKey: interop.Pointer;

declare const kDRBurnOverwriteDiscKey: interop.Pointer;

declare const kDRBurnAppendableKey: interop.Pointer;

declare const kDRBurnStatusChangedNotification: interop.Pointer;

declare const kDRTrackMessageVerifyPreGap: number;

declare const kDRTrackMessageProducePreGap: number;

declare const kDRTrackMessagePostBurn: number;

declare const kDRTrackMessageVerificationDone: number;

declare const kDRTrackMessagePreBurn: number;

declare const kDRFlagNoMoreData: number;

declare const kDRFlagSubchannelDataRequested: number;

declare const kDRSessionFormatDVDData: number;

declare const kDRSessionFormatCDXA: number;

declare const kDRSessionFormatMode1Data: number;

declare const kDRTrackMode2Form1Data: number;

declare const kDRTrackMode1Data: number;

declare const kDRDataFormMode2Form2Data: number;

declare const kDRDataFormMode2Form1Data: number;

declare const kDRDataFormAudio: number;

declare const kDRBlockTypeDVDData: number;

declare const kDRBlockSizeDVDData: number;

declare const kDRBlockSizeMode2Data: number;

declare const kDRBlockSizeMode1Data: number;

declare const kDRBlockSizeAudio: number;

declare const kDRSubchannelDataFormPack: interop.Pointer;

declare const kDRSubchannelDataFormKey: interop.Pointer;

declare const DRDeviceCanWriteDVDRWDualLayerKey: string;

declare const kDRTrackPacketTypeVariable: interop.Pointer;

declare const kDRSessionNumberKey: interop.Pointer;

declare const kDRSCMSCopyrightFree: interop.Pointer;

declare const kDRVerificationTypeNone: interop.Pointer;

declare const kDRAudioFourChannelKey: interop.Pointer;

declare const kDRIndexPointsKey: interop.Pointer;

declare const kDRBufferZone1DataKey: interop.Pointer;

declare const kDRDVDTimestampKey: interop.Pointer;

declare const kDRVerificationTypeKey: interop.Pointer;

declare const kDRBlockTypeKey: interop.Pointer;

declare const kDRTrackLengthKey: interop.Pointer;

declare const kDRDeviceBurnSpeedDVD1x: number;

declare const kDRDeviceBurnSpeedCD1x: number;

declare const kDRDeviceMediaTypeHDDVDRWDualLayer: interop.Pointer;

declare const kDRDeviceMediaTypeDVDPlusRW: interop.Pointer;

declare const kDRDeviceMediaTypeDVDPlusRDoubleLayer: interop.Pointer;

declare const kDRDeviceMediaTypeDVDPlusR: interop.Pointer;

declare const kDRDeviceMediaTypeDVDRWDualLayer: interop.Pointer;

declare const kDRDeviceMediaTypeDVDRW: interop.Pointer;

declare const kDRDeviceMediaTypeDVDRDualLayer: interop.Pointer;

declare const kDRDeviceMediaTypeDVDR: interop.Pointer;

declare const kDRDeviceMediaTypeDVDRAM: interop.Pointer;

declare const kDRDeviceMediaTypeCDRW: interop.Pointer;

declare const kDRDeviceMediaClassUnknown: interop.Pointer;

declare const kDRDeviceMediaClassHDDVD: interop.Pointer;

declare const kDRDeviceMediaClassBD: interop.Pointer;

declare const kDRDeviceMediaTypeKey: interop.Pointer;

declare const kDRDeviceMediaClassKey: interop.Pointer;

declare const kDRDeviceMediaSessionCountKey: interop.Pointer;

declare const kDRDeviceMediaTrackCountKey: interop.Pointer;

declare const kDRDeviceMediaDoubleLayerL0DataZoneBlocksKey: interop.Pointer;

declare const kDRDeviceMediaBlocksUsedKey: interop.Pointer;

declare const kDRDeviceMediaBlocksOverwritableKey: interop.Pointer;

declare const kDRDeviceMediaIsReservedKey: interop.Pointer;

declare const kDRDeviceMediaIsErasableKey: interop.Pointer;

declare const kDRDeviceMediaIsAppendableKey: interop.Pointer;

declare const kDRDeviceTrackInfoKey: interop.Pointer;

declare const kDRDeviceBurnSpeedsKey: interop.Pointer;

declare const kDRDeviceMediaInfoKey: interop.Pointer;

declare const kDRMediaNotPresentErr: number;

declare const kDRDeviceMediaStateKey: interop.Pointer;

declare const kDRDeviceMaximumWriteSpeedKey: interop.Pointer;

declare const DRDeviceBurnSpeedBD1x: number;

declare const kDRDeviceIsBusyKey: interop.Pointer;

declare const kDRDeviceCanTestWriteCDKey: interop.Pointer;

declare const kDRDeviceCanWriteCDSAOKey: interop.Pointer;

declare const kDRDeviceCanWriteCDTAOKey: interop.Pointer;

declare const kDRDeviceCanWriteIndexPointsKey: interop.Pointer;

declare const kDRDeviceCanWriteCDTextKey: interop.Pointer;

declare const kDRDeviceCanWriteHDDVDRWDualLayerKey: interop.Pointer;

declare const kDRDeviceCanWriteHDDVDRWKey: interop.Pointer;

declare const kDRDeviceCanWriteHDDVDKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDPlusRWDoubleLayerKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDPlusRWKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDPlusRDoubleLayerKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDPlusRKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDRAMKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDRWDualLayerKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDRWKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDRDualLayerKey: interop.Pointer;

declare const kDRDeviceCanWriteDVDKey: interop.Pointer;

declare const kDRDeviceCanWriteCDRWKey: interop.Pointer;

declare const kDRDevicePhysicalInterconnectLocationInternal: interop.Pointer;

declare const kDRDevicePhysicalInterconnectUSB: interop.Pointer;

declare const kDRDevicePhysicalInterconnectATAPI: interop.Pointer;

declare const kDRDeviceLoadingMechanismCanOpenKey: interop.Pointer;

declare const kDRDeviceLoadingMechanismCanInjectKey: interop.Pointer;

declare const kDRDeviceLoadingMechanismCanEjectKey: interop.Pointer;

declare const kDRDevicePhysicalInterconnectLocationKey: interop.Pointer;

declare const DRSessionFormatKey: string;

declare const kDRDeviceProductNameKey: interop.Pointer;

declare const kDRDeviceIORegistryEntryPathKey: interop.Pointer;

declare const kDRTrackTypeIncomplete: interop.Pointer;

declare const kDRDeviceSupportLevelKey: interop.Pointer;

declare const kDRDeviceStatusChangedNotification: interop.Pointer;

declare const kDRDeviceAppearedNotification: interop.Pointer;

declare const kDRRefConCFTypeCallbacks: DRRefConCallbacks;

declare const kDRAccessDate: interop.Pointer;

declare const DRDevicePhysicalInterconnectATAPI: string;

declare const DRFilesystemInclusionMaskHFSPlus: number;

declare const DRDeviceSupportLevelUnsupported: string;

declare const kDRDeviceMediaTypeBDROM: interop.Pointer;

declare const DRErrorStatusSenseKey: string;

declare const kDRStatusStateTrackWrite: interop.Pointer;

declare const DRCDTextGenreCodeClassical: number;

declare const DRTrackLengthKey: string;

declare const kDRMediaBusyErr: number;

declare const kDRDataFormKey: interop.Pointer;

declare const DRDeviceMediaTypeCDROM: string;

declare const DRAudioPreEmphasisKey: string;

declare const kDRVerificationTypeReceiveData: interop.Pointer;

declare const kDRBurnDoubleLayerL0DataZoneBlocksKey: interop.Pointer;

declare const DRBurnFailureActionKey: string;

declare const kDRDeviceCanWriteDVDDAOKey: interop.Pointer;

declare const DRDeviceMediaTypeDVDRAM: string;

declare const kDRCDTextGenreCodeRap: number;

declare const DRApplicationIdentifier: string;

declare const kDRDeviceSupportLevelAppleShipping: interop.Pointer;

declare const kDRDeviceCanWriteCDRawKey: interop.Pointer;

declare const DRDeviceWriteCapabilitiesKey: string;

declare const DRBurnCompletionActionEject: string;

declare const DRSCMSCopyrightFree: string;

declare const kDRDevicePhysicalInterconnectLocationExternal: interop.Pointer;

declare const kDRDeviceNotSupportedErr: number;

declare const kDRCDTextGenreKey: interop.Pointer;

declare const kDRTrackMode2Form2Data: number;

declare const DRDeviceCanWriteDVDDAOKey: string;

declare const DRHFSPlusTextEncodingHint: string;

declare const kDRCDTextSongwriterKey: interop.Pointer;

declare const DRTrackTypeInvisible: string;

declare const kDRStatusStateFailed: interop.Pointer;

declare const kDRMacFinderHideExtension: interop.Pointer;

declare const kDRDeviceMediaTypeBDR: interop.Pointer;

declare const kDRCDTextGenreCodeOpera: number;

declare const DRPosixUID: string;

declare const kDRDoubleLayerL0AlreadySpecifiedErr: number;

declare const DRDVDCopyrightInfoKey: string;

declare const DRDeviceDisappearedNotification: string;

declare const DRDeviceMediaTypeDVDRDualLayer: string;

declare const kDRBurnStrategyDVDDAO: interop.Pointer;

declare const kDRSubchannelDataFormRaw: interop.Pointer;

declare const kDRDataFormDVDData: number;

declare const DRStatusStateFinishing: string;

declare const kDRBlockSizeKey: interop.Pointer;

declare const DRVolumeCreationDate: string;

declare const kDRCDTextGenreCodePop: number;

declare const kDRCDTextTitleKey: interop.Pointer;

declare const DRCDTextMCNISRCKey: string;

declare const kDRDeviceCanWriteBDRKey: interop.Pointer;

declare const kDRCDTextGenreCodeSoundEffects: number;

declare const kDRBurnPowerCalibrationErr: number;

declare const kDRDeviceCanWriteCDRKey: interop.Pointer;

declare const kDRISO9660LevelOne: interop.Pointer;

declare const kDRDeviceBurnSpeedHDDVD1x: number;

declare const kDRDeviceCanWriteBDKey: interop.Pointer;

declare const DRHFSPlusCatalogNodeID: string;

declare const kDRCDTextPerformerKey: interop.Pointer;

declare const DRDeviceCanWriteBDRKey: string;

declare const kDRTrackModeDVDData: number;

declare const kDRDeviceMediaBSDNameKey: interop.Pointer;

declare const DRDeviceCanUnderrunProtectDVDKey: string;

declare const kDRDeviceMediaTypeBDRE: interop.Pointer;

declare const DRDeviceMediaClassBD: string;

declare const DRDeviceMediaStateNone: string;

declare const kDRTrackModeAudio: number;

declare const DRISO9660VersionNumber: string;

declare const DRStatusTotalTracksKey: string;

declare const kDRBlockTypeMode1Data: number;

declare const kDRMaxBurnSpeedKey: interop.Pointer;

declare const DRAbstractFile: string;

declare const kDRCopyrightFile: interop.Pointer;

declare const DRDeviceMediaIsReservedKey: string;

declare const kDRTrackStartAddressKey: interop.Pointer;

declare const kDRDeviceMediaClassDVD: interop.Pointer;

declare const DRTrackNumberKey: string;

declare const DRDeviceCanWriteDVDPlusRDoubleLayerKey: string;

declare const DRDeviceCanWriteISRCKey: string;

declare const DRBurnAppendableKey: string;

declare const kDRCDTextGenreCodeRock: number;

declare const DRSerialCopyManagementStateKey: string;

declare const DRDeviceMediaTypeHDDVDROM: string;

declare const kDRDeviceMediaIsOverwritableKey: interop.Pointer;

declare const kDRISORockRidgeExtensions: interop.Pointer;

declare const DRDeviceCanWriteCDRawKey: string;

declare const kDRCDTextTOCKey: interop.Pointer;

declare const DRUDFMaxInterchangeLevel: string;

declare const kDRBurnStrategyBDDAO: interop.Pointer;

declare const DRVolumeEffectiveDate: string;

declare const DRPosixGID: string;

declare const kDRUDFVersion150: interop.Pointer;

declare const kDRCDTextGenreCodeContemporaryChristian: number;

declare const kDRDeviceMediaClassCD: interop.Pointer;

declare const DRAccessDate: string;

declare const kDRDeviceCanWriteHDDVDRAMKey: interop.Pointer;

declare const DRStatusStateTrackOpen: string;

declare const DRStatusProgressCurrentKPS: string;

declare const DRCDTextTOCKey: string;

declare const kDRBlockSizeMode2Form2Data: number;

declare const kDRDVDCopyrightInfoKey: interop.Pointer;

declare const DRJoliet: string;

declare const kDRDeviceWriteBufferSizeKey: interop.Pointer;

declare const DRCDTextGenreCodeNewAge: number;

declare const kDRInternalErr: number;

declare const kDRDeviceSupportLevelNone: interop.Pointer;

declare const kDRCDTextGenreCodeReggae: number;

declare const DRTrackIsEmptyKey: string;

declare const kDRStatusProgressInfoKey: interop.Pointer;

declare const kDRDeviceMediaStateNone: interop.Pointer;

declare const DRUDFInterchangeLevel: string;

declare const kDRCDTextGenreCodeWorldMusic: number;

declare const DRTrackModeKey: string;

declare const DRCDTextTitleKey: string;

declare const DRRecordingDate: string;

declare const DRSynchronousBehaviorKey: string;

declare const kDRUDFRealTimeFile: interop.Pointer;

declare const DRDevicePhysicalInterconnectSCSI: string;

declare const kDRCDTextGenreCodeGospel: number;

declare const kDRCDTextGenreCodeAlternativeRock: number;

declare const DRCDTextClosedKey: string;

declare const DRISO9660: string;

declare const kDRDevicePhysicalInterconnectSCSI: interop.Pointer;

declare const DRCDTextGenreCodeDance: number;

declare const DRDeviceMediaTypeBDR: string;

declare const kDRDeviceMediaStateMediaPresent: interop.Pointer;

declare const kDRSubchannelDataFormNone: interop.Pointer;

declare const kDRDeviceMediaStateInTransition: interop.Pointer;

declare const DRBurnCompletionActionMount: string;

declare const kDRDeviceCommunicationErr: number;

declare const DREraseTypeKey: string;

declare const DRBurnStrategyCDSAO: string;

declare const kDRDeviceCanTestWriteDVDKey: interop.Pointer;

declare const DRSCMSCopyrightProtectedOriginal: string;

declare const kDRBurnVerifyDiscKey: interop.Pointer;

declare const kDRPosixUID: interop.Pointer;

declare const kDRFreeBlocksKey: interop.Pointer;

declare const kDRDeviceMediaTypeUnknown: interop.Pointer;

declare const kDRBibliographicFile: interop.Pointer;

declare const kDRFilesystemMaskHFSPlus: number;

declare const kDRStatusTotalTracksKey: interop.Pointer;

declare const kDRVerificationTypeProduceAgain: interop.Pointer;

declare const kDRStatusTotalSessionsKey: interop.Pointer;

declare const DRStatusStateTrackClose: string;

declare const kDRCDTextGenreCodeLatin: number;

declare const kDRMediaNotSupportedErr: number;

declare const DRCDTextGenreCodeJazz: number;

declare const kDRSuppressMacSpecificFiles: interop.Pointer;

declare const DRDeviceLoadingMechanismCanOpenKey: string;

declare const kDRFileForkSizeActual: number;

declare const DRDeviceMediaTypeDVDPlusRW: string;

declare const DRDeviceMediaIsBlankKey: string;

declare const DRStatusStateSessionClose: string;

declare const DREraseStatusChangedNotification: string;

declare const kDRDeviceFirmwareRevisionKey: interop.Pointer;

declare const DRDeviceCanWriteDVDPlusRWDoubleLayerKey: string;

declare const DRTrackPacketTypeVariable: string;

declare const kDRBurnCompletionActionEject: interop.Pointer;

declare const kDRStatusStateKey: interop.Pointer;

declare const kDRDeviceMediaTypeHDDVDROM: interop.Pointer;

declare const kDRBurnTestingKey: interop.Pointer;

declare const kDRVolumeModificationDate: interop.Pointer;

declare const kDRErrorStatusErrorInfoStringKey: interop.Pointer;

declare const kDRFilesystemMaskISO9660: number;

declare const DRSubchannelDataFormNone: string;

declare const kDRMediaNotBlankErr: number;

declare const DRDeviceCanWriteCDTAOKey: string;

declare const kDRFileModifiedDuringBurnErr: number;

declare const kDRBurnStrategyIsRequiredKey: interop.Pointer;

declare const kDRTrackTypeReserved: interop.Pointer;

declare const DRBurnStrategyDVDDAO: string;

declare const DRFilesystemInclusionMaskUDF: number;

declare const kDRMacWindowView: interop.Pointer;

declare const kDRISO9660: interop.Pointer;

declare const kDRVolumeExpirationDate: interop.Pointer;

declare const kDRBlockTypeMode2Data: number;

declare const kDRUDFInterchangeLevel: interop.Pointer;

declare const DRCDTextGenreCodeOpera: number;

declare const kDRDevicePhysicalInterconnectFibreChannel: interop.Pointer;

declare const DRDeviceCurrentWriteSpeedKey: string;

declare const kDRStatusStatePreparing: interop.Pointer;

declare const DRFlagSubchannelDataRequested: number;

declare const DRDeviceMediaBlocksUsedKey: string;

declare const DRLinkTypeHardLink: string;

declare const DRCreationDate: string;

declare const kDRBackupDate: interop.Pointer;

declare const DRBurnFailureActionEject: string;

declare const kDREraseStatusChangedNotification: interop.Pointer;

declare const kDRDeviceCanWriteHDDVDRKey: interop.Pointer;

declare const kDRDeviceMediaTypeHDDVDR: interop.Pointer;

declare const kDRDeviceCanUnderrunProtectCDKey: interop.Pointer;

declare const DRDeviceBurnSpeedHDDVD1x: number;

declare const DRUDFVolumeSetIdentifier: string;

declare const DRMacFileType: string;

declare const DRAudioFourChannelKey: string;

declare const kDRDeviceCanWriteISRCKey: interop.Pointer;

declare const kDRDeviceMediaTypeHDDVDRAM: interop.Pointer;

declare const kDRStatusStateErasing: interop.Pointer;

declare const kDREraseTypeComplete: interop.Pointer;

declare const kDRDevicePhysicalInterconnectFireWire: interop.Pointer;

declare const DRDeviceLoadingMechanismCanEjectKey: string;

declare const DRDeviceVendorNameKey: string;

declare const kDRLinkTypeFinderAlias: number;

declare const DRSCMSCopyrightProtectedCopy: string;

declare const DRDeviceMediaOverwritableSpaceKey: string;

declare const kDRTrackISRCKey: interop.Pointer;

declare const kDRISOLevel: interop.Pointer;

declare const DRDeviceCanWriteIndexPointsKey: string;

declare const kDRDeviceSupportLevelAppleSupported: interop.Pointer;

declare const kDRCDTextGenreCodeDance: number;

declare const DRDeviceTrackInfoKey: string;

declare const kDRDevicePhysicalInterconnectLocationUnknown: interop.Pointer;

declare const kDRMacFileType: interop.Pointer;

declare const DRMacIconLocation: string;

declare const DRDeviceCanTestWriteCDKey: string;

declare const kDRTrackTypeClosed: interop.Pointer;

declare const kDRCDTextSpecialMessageKey: interop.Pointer;

declare const kDRTrackMode2Data: number;

declare const DREraseTypeComplete: string;

declare const DRSubchannelDataFormKey: string;

declare const DRDeviceIsTrayOpenKey: string;

declare const DRDeviceCanWriteBDKey: string;

declare const DRDeviceCanWriteDVDRDualLayerKey: string;

declare const DRFileForkResource: number;

declare const kDRDeviceBurnSpeedBD1x: number;

declare const DRSubchannelDataFormRaw: string;

declare const kDRDeviceVendorNameKey: interop.Pointer;

declare const DRDeviceMediaTypeHDDVDRW: string;

declare const kDRMediaNotWritableErr: number;

declare const kDRStatusStateSessionClose: interop.Pointer;

declare const DRBurnStrategyBDDAO: string;

declare const kDRFilesystemMaskUDF: number;

declare const kDRTrackMessageProduceData: number;

declare const DRDeviceMediaBSDNameKey: string;

declare const DRStatusCurrentTrackKey: string;

declare const kDRDeviceBurnSpeedMax: number;

declare const kDRUDFVolumeSetImplementationUse: interop.Pointer;

declare const kDRSynchronousBehaviorKey: interop.Pointer;

declare const DRStatusStateFailed: string;

declare const DRDeviceCanWriteHDDVDRAMKey: string;

declare const DRDeviceBurnSpeedCD1x: number;

declare const kDRAudioPreEmphasisKey: interop.Pointer;

declare const DRDeviceCanWriteCDRKey: string;

declare const kDRLinkTypeHardLink: number;

declare const kDRSCMSCopyrightProtectedCopy: interop.Pointer;

declare const DRStatusStateVerifying: string;

declare const kDRCDTextEncodingISOLatin1Modified: number;

declare const kDRBlockTypeMode2Form1Data: number;

declare const kDRExpirationDate: interop.Pointer;

declare const kDREffectiveDate: interop.Pointer;

declare const DRDevicePhysicalInterconnectLocationUnknown: string;

declare const kDRSessionFormatKey: interop.Pointer;

declare const kDRStatusCurrentTrackKey: interop.Pointer;

declare const DRCDTextEncodingASCII: number;

declare const kDRBlockTypeMode2Form2Data: number;

declare const DRSuppressMacSpecificFiles: string;

declare const kDRPreGapIsRequiredKey: interop.Pointer;

declare const kDRCDTextClosedKey: interop.Pointer;

declare const DRDataFormKey: string;

declare const kDRSessionFormatCDI: number;

declare const DRCDTextSpecialMessageKey: string;

declare const DRDeviceMediaTypeBDRE: string;

declare const kDRDeviceCurrentWriteSpeedKey: interop.Pointer;

declare const DRContentModificationDate: string;

declare const kDRDeviceCanUnderrunProtectDVDKey: interop.Pointer;

declare const kDRMacScrollPosition: interop.Pointer;

declare const DRCDTextGenreCodeContemporaryChristian: number;

declare const kDRDeviceSupportLevelVendorSupported: interop.Pointer;

declare const kDRFileForkData: number;

declare const kDRDeviceCanWriteHDDVDRDualLayerKey: interop.Pointer;

declare const kDRMacFinderFlags: interop.Pointer;

declare const kDRDeviceIsTrayOpenKey: interop.Pointer;

declare const kDRTrackPacketTypeFixed: interop.Pointer;

declare const kDRErrorStatusSenseKey: interop.Pointer;

declare const kDRFileMessageForkSize: number;

declare const kDRCDTextGenreCodeAdultContemporary: number;

declare const kDRErrorStatusSenseCodeStringKey: interop.Pointer;

declare const kDRCDTextGenreCodeHipHop: number;

declare const kDRMediaInvalidErr: number;

declare const kDRUDFVolumeSequenceNumber: interop.Pointer;

declare const DRDeviceCanWriteHDDVDRKey: string;

declare const kDRBurnCompletionActionMount: interop.Pointer;

declare const DRDeviceMediaSessionCountKey: string;

declare const kDRFilesystemMaskDefault: number;

declare const DRDeviceWriteBufferSizeKey: string;

declare const kDRSerialCopyManagementStateKey: interop.Pointer;

declare const DRErrorStatusErrorInfoStringKey: string;

declare const DRCDTextKey: string;

declare const DRFreeBlocksKey: string;

declare const kDRMediaNotErasableErr: number;

declare const kDRStatusStateNone: interop.Pointer;

declare const DRUDFVersion102: string;

declare const DRCDTextGenreCodeMusical: number;

declare const kDRTrackNumberKey: interop.Pointer;

declare const DRCopyrightFile: string;

declare const kDRStatusCurrentSpeedKey: interop.Pointer;

declare const DRDeviceCanUnderrunProtectCDKey: string;

declare const kDRFileMessageRelease: number;

declare const DRStatusStateTrackWrite: string;

declare const kDRDeviceMediaTypeDVDPlusRWDoubleLayer: interop.Pointer;

declare const kDRDeviceMediaTypeDVDROM: interop.Pointer;

declare const DRCDTextGenreCodeGospel: number;

declare const DRCDTextGenreCodeRap: number;

declare const DRCDTextComposerKey: string;

declare const kDRDataFormMode2Data: number;

declare const DRDeviceMediaClassHDDVD: string;

declare const kDRDataFormMode1Data: number;

declare const kDRDeviceMediaTypeCDR: interop.Pointer;

declare const DRCDTextLanguageKey: string;

declare const kDREraseTypeKey: interop.Pointer;

declare const kDRCDTextGenreCodeEasyListening: number;

declare const kDRDeviceCanWriteDVDRKey: interop.Pointer;

declare const DRMacWindowView: string;

declare const kDRDeviceDisappearedNotification: interop.Pointer;

declare const kDRDeviceWriteCapabilitiesKey: interop.Pointer;

declare const kDRDeviceMediaTypeCDROM: interop.Pointer;

declare const DRDeviceCanWriteDVDKey: string;

declare const DRErrorStatusSenseCodeStringKey: string;

declare const DRUDFPrimaryVolumeDescriptorNumber: string;

declare const DRDeviceMediaTypeDVDRWDualLayer: string;

declare const kDRCDTextGenreCodeJazz: number;

declare const DRDeviceMediaClassCD: string;

declare const DRDeviceBurnSpeedMax: number;

declare const kDRDeviceCanWriteCDKey: interop.Pointer;

declare const kDRBurnStrategyKey: interop.Pointer;

declare const DRDeviceMediaTypeDVDROM: string;

declare const kDRTrackTypeInvisible: interop.Pointer;

declare const kDRDeviceTrackRefsKey: interop.Pointer;

declare const DRTrackPacketSizeKey: string;

declare const kDRSCMSCopyrightProtectedOriginal: interop.Pointer;

declare const DRBurnDoubleLayerL0DataZoneBlocksKey: string;

declare const kDRCDTextEncodingASCII: number;

declare const kDRTrackTypeKey: interop.Pointer;

declare const DRStatusProgressCurrentXFactor: string;

declare const kDRDeviceCantWriteSCMSErr: number;

declare const kDRFileLocationConflictErr: number;

declare const kDRTrackModeKey: interop.Pointer;

declare const kDRDeviceCanWriteBDREKey: interop.Pointer;

declare const kDRTrackIsEmptyKey: interop.Pointer;

declare const kDRTrackMessageVerifyData: number;

declare const kDRVerificationTypeChecksum: interop.Pointer;

declare const kDRBurnStrategyCDTAO: interop.Pointer;

declare const kDRInvisible: interop.Pointer;

declare const DRDeviceAppearedNotification: string;

declare const DRCDTextGenreKey: string;

declare const kDRBlockSizeMode2Form1Data: number;

declare const DRISOMacExtensions: string;

declare const DRDeviceMediaStateKey: string;

declare const kDRBlockTypeAudio: number;

declare const kDRDeviceBusyErr: number;

declare const DRUDFExtendedFilePermissions: string;

declare const DRDVDTimestampKey: string;

declare const kDRDeviceBurnStrategyNotAvailableErr: number;

declare const DRBurnStatusChangedNotification: string;

declare const kDRContentModificationDate: interop.Pointer;

declare const kDRCDTextLanguageKey: interop.Pointer;

declare const DRStatusStateErasing: string;

declare const DRDeviceMediaTypeCDRW: string;

declare const DRCDTextGenreCodeLatin: number;

declare const kDRMacWindowBounds: interop.Pointer;

declare const kDRDeviceMediaIsBlankKey: interop.Pointer;

declare const kDRUDFExtendedFilePermissions: interop.Pointer;

declare const DRDeviceSupportLevelAppleSupported: string;

declare const kDRDeviceCantWriteIndexPointsErr: number;

declare const kDRDeviceSupportLevelUnsupported: interop.Pointer;

declare const DRCDTextGenreCodeCountry: number;

declare const kDRCDTextComposerKey: interop.Pointer;

declare const DRExpirationDate: string;

declare const DRTrackTypeClosed: string;

declare const kDRTrackPacketTypeKey: interop.Pointer;

declare const DRDevicePhysicalInterconnectLocationInternal: string;

declare const kDRDeviceMediaTypeHDDVDRW: interop.Pointer;

declare const kDRDeviceMediaTypeHDDVDRDualLayer: interop.Pointer;

declare const kDRPreGapLengthKey: interop.Pointer;

declare const DRDeviceMediaDoubleLayerL0DataZoneBlocksKey: string;

declare const DRCDTextNSStringEncodingKey: string;

declare const DRCDTextGenreCodeRock: number;

declare const kDRFileMessagePreBurn: number;

declare const DRDeviceCanWriteBDREKey: string;

declare const kDRCDTextGenreCodeSoundtrack: number;

declare const DRCDTextGenreCodeFolk: number;

declare const kDRBurnUnderrunProtectionKey: interop.Pointer;

declare const kDRBurnKey: interop.Pointer;

declare const kDRDeviceCanWriteKey: interop.Pointer;

declare const DRStatusCurrentSessionKey: string;

declare const DRDeviceCanWriteHDDVDKey: string;

declare const DRCDTextArrangerKey: string;

declare const DRCDTextGenreCodePop: number;

declare const DRBibliographicFile: string;

declare const kDRSessionFormatAudio: number;

declare const kDRTrackMessageEstimateLength: number;

declare const kDRTrackMessageVerificationStarting: number;

declare const DRCDTextCharacterCodeKey: string;

declare const DRErrorStatusAdditionalSenseStringKey: string;

declare const kDRDoubleLayerL0DataZoneBlocksParamErr: number;

declare const DRDeviceMediaTypeCDR: string;

declare const DRISORockRidgeExtensions: string;

declare const DRVerificationTypeChecksum: string;

declare const kDRStatusStateTrackOpen: interop.Pointer;

declare const DRCDTextSongwriterKey: string;

declare const kDRBurnRequestedSpeedKey: interop.Pointer;

declare const DRCDTextGenreCodeSoundtrack: number;

declare const DRDeviceStatusChangedNotification: string;

declare const DRDevicePhysicalInterconnectKey: string;

declare const kDRDevicePhysicalInterconnectKey: interop.Pointer;

declare const kDRDeviceMediaBlocksFreeKey: interop.Pointer;

declare const DRCDTextGenreCodeChildrens: number;

declare const kDRNextWritableAddressKey: interop.Pointer;

declare const DRStatusProgressInfoKey: string;

declare const kDRMacFileCreator: interop.Pointer;

declare const kDRStatusStateTrackClose: interop.Pointer;

declare const DRDeviceTrackRefsKey: string;

declare const DRCDTextEncodingISOLatin1Modified: number;

declare const kDRFirstErr: number;

declare const DRCDTextCopyrightAssertedForSpecialMessagesKey: string;

declare const DRBlockTypeKey: string;

declare const DRBurnCompletionActionKey: string;

declare const kDRTrackPacketSizeKey: interop.Pointer;

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

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

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

declare class DRFileProductionInfo {
  constructor(init?: DRFileProductionInfo);
  requestedAddress: number;
  buffer: interop.Pointer;
  reqCount: number;
  actCount: number;
  blockSize: number;
  fork: number;
}

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

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

declare class DRTrackProductionInfo {
  constructor(init?: DRTrackProductionInfo);
  buffer: interop.Pointer;
  reqCount: number;
  actCount: number;
  flags: number;
  blockSize: number;
  requestedAddress: number;
}

declare class DRRefConCallbacks {
  constructor(init?: DRRefConCallbacks);
  version: number;
  retain: (p1: interop.PointerConvertible) => interop.Pointer | null;
  release: (p1: interop.PointerConvertible) => void | null;
}

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

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

declare class DRFileForkSizeInfo {
  constructor(init?: DRFileForkSizeInfo);
  fork: number;
  query: number;
  size: number;
}

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

declare function DRSetRefCon(ref: interop.Object, refCon: interop.PointerConvertible, callbacks: interop.PointerConvertible): void;

declare function DRGetRefCon(ref: interop.Object): interop.Pointer;

declare function DRCopyLocalizedStringForValue(value: interop.Object): interop.Object;

declare function DRDeviceGetTypeID(): number;

declare function DRCopyDeviceArray(): interop.Object;

declare function DRDeviceCopyDeviceForBSDName(name: interop.Object): interop.Object;

declare function DRDeviceCopyDeviceForIORegistryEntryPath(path: interop.Object): interop.Object;

declare function DRDeviceIsValid(device: interop.Object): number;

declare function DRDeviceOpenTray(device: interop.Object): number;

declare function DRDeviceCloseTray(device: interop.Object): number;

declare function DRDeviceEjectMedia(device: interop.Object): number;

declare function DRDeviceAcquireMediaReservation(device: interop.Object): void;

declare function DRDeviceReleaseMediaReservation(device: interop.Object): void;

declare function DRDeviceAcquireExclusiveAccess(device: interop.Object): number;

declare function DRDeviceReleaseExclusiveAccess(device: interop.Object): void;

declare function DRDeviceCopyInfo(device: interop.Object): interop.Object;

declare function DRDeviceCopyStatus(device: interop.Object): interop.Object;

declare function DRDeviceKPSForXFactor(deviceOrMediaType: interop.Object, xfactor: number): number;

declare function DRDeviceXFactorForKPS(deviceOrMediaType: interop.Object, kps: number): number;

declare function DRTrackGetTypeID(): number;

declare function DRTrackCreate(properties: interop.Object, callback: (p1: interop.PointerConvertible, p2: number, p3: interop.PointerConvertible) => number): interop.Object;

declare function DRTrackSetProperties(track: interop.Object, properties: interop.Object): void;

declare function DRTrackGetProperties(track: interop.Object): interop.Object;

declare function DRTrackSpeedTest(track: interop.Object, howManyMilliseconds: number, howManyBytes: number): number;

declare function DRTrackEstimateLength(track: interop.Object): number;

declare function DRBurnGetTypeID(): number;

declare function DRBurnCreate(device: interop.Object): interop.Object;

declare function DRBurnWriteLayout(burn: interop.Object, layout: interop.Object): number;

declare function DRBurnAbort(burn: interop.Object): void;

declare function DRBurnCopyStatus(burn: interop.Object): interop.Object;

declare function DRBurnGetDevice(burn: interop.Object): interop.Object;

declare function DRBurnSetProperties(burn: interop.Object, properties: interop.Object): void;

declare function DRBurnGetProperties(burn: interop.Object): interop.Object;

declare function DRCDTextBlockCreateArrayFromPackList(packs: interop.Object): interop.Object;

declare function DRCDTextBlockGetTypeID(): number;

declare function DRCDTextBlockCreate(language: interop.Object, encoding: number): interop.Object;

declare function DRCDTextBlockGetProperties(block: interop.Object): interop.Object;

declare function DRCDTextBlockSetProperties(block: interop.Object, properties: interop.Object): void;

declare function DRCDTextBlockGetTrackDictionaries(block: interop.Object): interop.Object;

declare function DRCDTextBlockSetTrackDictionaries(block: interop.Object, array: interop.Object): void;

declare function DRCDTextBlockGetValue(block: interop.Object, trackIndex: number, key: interop.Object): interop.Object;

declare function DRCDTextBlockSetValue(block: interop.Object, trackIndex: number, key: interop.Object, value: interop.Object): void;

declare function DRCDTextBlockFlatten(block: interop.Object): number;

declare function DREraseGetTypeID(): number;

declare function DREraseCreate(device: interop.Object): interop.Object;

declare function DREraseStart(erase: interop.Object): number;

declare function DREraseCopyStatus(erase: interop.Object): interop.Object;

declare function DREraseGetDevice(erase: interop.Object): interop.Object;

declare function DREraseSetProperties(erase: interop.Object, properties: interop.Object): void;

declare function DREraseGetProperties(erase: interop.Object): interop.Object;

declare function DRCopyLocalizedStringForDiscRecordingError(osError: number): interop.Object;

declare function DRCopyLocalizedStringForSenseCode(senseCode: number): interop.Object;

declare function DRCopyLocalizedStringForAdditionalSense(ASC: number, ASCQ: number): interop.Object;

declare function DRNotificationCenterGetTypeID(): number;

declare function DRNotificationCenterCreate(): interop.Object;

declare function DRNotificationCenterCreateRunLoopSource(center: interop.Object): interop.Object;

declare function DRNotificationCenterAddObserver(center: interop.Object, observer: interop.PointerConvertible, callback: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: interop.PointerConvertible, p4: interop.PointerConvertible, p5: interop.PointerConvertible) => void, name: interop.Object, object: interop.Object): void;

declare function DRNotificationCenterRemoveObserver(center: interop.Object, observer: interop.PointerConvertible, name: interop.Object, object: interop.Object): void;

declare function DRFSObjectIsVirtual(object: interop.PointerConvertible): number;

declare function DRFSObjectGetRealFSRef(object: interop.PointerConvertible, fsRef: interop.PointerConvertible): void;

declare function DRFSObjectCopyRealURL(object: interop.PointerConvertible): interop.Object;

declare function DRFSObjectGetParent(object: interop.PointerConvertible): interop.Object;

declare function DRFSObjectCopyBaseName(object: interop.PointerConvertible): interop.Object;

declare function DRFSObjectCopySpecificName(object: interop.PointerConvertible, fsKey: interop.Object): interop.Object;

declare function DRFSObjectCopySpecificNames(object: interop.PointerConvertible): interop.Object;

declare function DRFSObjectCopyMangledName(object: interop.PointerConvertible, fsKey: interop.Object): interop.Object;

declare function DRFSObjectCopyMangledNames(object: interop.PointerConvertible): interop.Object;

declare function DRFSObjectCopyFilesystemProperty(object: interop.PointerConvertible, fsKey: interop.Object, propertyKey: interop.Object, coalesce: number): interop.Object;

declare function DRFSObjectCopyFilesystemProperties(object: interop.PointerConvertible, fsKey: interop.Object, coalesce: number): interop.Object;

declare function DRFSObjectGetFilesystemMask(object: interop.PointerConvertible, explicitMask: interop.PointerConvertible, effectiveMask: interop.PointerConvertible): number;

declare function DRFSObjectSetBaseName(object: interop.Object, baseName: interop.Object): void;

declare function DRFSObjectSetSpecificName(object: interop.Object, fsKey: interop.Object, specificName: interop.Object): void;

declare function DRFSObjectSetSpecificNames(object: interop.Object, specificNames: interop.Object): void;

declare function DRFSObjectSetFilesystemProperty(object: interop.Object, fsKey: interop.Object, propertyKey: interop.Object, value: interop.Object): void;

declare function DRFSObjectSetFilesystemProperties(object: interop.Object, fsKey: interop.Object, properties: interop.Object): void;

declare function DRFSObjectSetFilesystemMask(object: interop.Object, newMask: number): void;

declare function DRFolderGetTypeID(): number;

declare function DRFolderCreateReal(fsRef: interop.PointerConvertible): interop.Object;

declare function DRFolderCreateRealWithURL(urlRef: interop.PointerConvertible): interop.Object;

declare function DRFolderCreateVirtual(baseName: interop.Object): interop.Object;

declare function DRFolderConvertRealToVirtual(realFolder: interop.Object): void;

declare function DRFolderAddChild(parent: interop.Object, newChild: interop.Object): void;

declare function DRFolderRemoveChild(parent: interop.Object, child: interop.Object): void;

declare function DRFolderCountChildren(folder: interop.PointerConvertible): number;

declare function DRFolderCopyChildren(folder: interop.PointerConvertible): interop.Object;

declare function DRFileGetTypeID(): number;

declare function DRFileCreateReal(fsRef: interop.PointerConvertible): interop.Object;

declare function DRFileCreateRealWithURL(urlRef: interop.PointerConvertible): interop.Object;

declare function DRFileCreateVirtualWithData(baseName: interop.Object, fileData: interop.PointerConvertible, fileDataLength: number): interop.Object;

declare function DRFileCreateVirtualWithCallback(baseName: interop.Object, fileProc: (p1: interop.PointerConvertible, p2: interop.PointerConvertible, p3: number, p4: interop.PointerConvertible) => number, fileProcRefCon: interop.PointerConvertible): interop.Object;

declare function DRFileCreateVirtualLink(original: interop.Object, linkType: number, fsKey: interop.Object): interop.Object;

declare function DRFilesystemTrackCreate(rootFolder: interop.Object): interop.Object;

declare function DRFilesystemTrackEstimateOverhead(numBlocks: number, blockSize: number, fsMask: number): number;

declare function DRAudioTrackCreate(audioFile: interop.PointerConvertible): interop.Object;

declare function DRAudioTrackCreateWithURL(audioFileURL: interop.Object): interop.Object;

declare function DRGetVersion(): NumVersion;

declare interface DRFileDataProduction {
  calculateSizeOfFileForkEstimating(file: DRFile, fork: number, estimate: boolean): number;

  prepareFileForBurn(file: DRFile): boolean;

  produceFileForkIntoBufferLengthAtAddressBlockSize(file: DRFile, fork: number, buffer: string, bufferLength: number, address: number, blockSize: number): number;

  prepareFileForVerification(file: DRFile): boolean;

  cleanupFileAfterBurn(file: DRFile): void;
}

declare class DRFileDataProduction extends NativeObject implements DRFileDataProduction {
}

declare interface DRTrackDataProduction {
  estimateLengthOfTrack(track: DRTrack): number;

  prepareTrackForBurnToMedia(track: DRTrack, burn: DRBurn, mediaInfo: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): boolean;

  cleanupTrackAfterBurn(track: DRTrack): void;

  producePreGapForTrackIntoBufferLengthAtAddressBlockSizeIoFlags(track: DRTrack, buffer: string, bufferLength: number, address: number, blockSize: number, flags: interop.PointerConvertible): number;

  produceDataForTrackIntoBufferLengthAtAddressBlockSizeIoFlags(track: DRTrack, buffer: string, bufferLength: number, address: number, blockSize: number, flags: interop.PointerConvertible): number;

  prepareTrackForVerification(track: DRTrack): boolean;

  verifyPreGapForTrackInBufferLengthAtAddressBlockSizeIoFlags(track: DRTrack, buffer: string, bufferLength: number, address: number, blockSize: number, flags: interop.PointerConvertible): boolean;

  verifyDataForTrackInBufferLengthAtAddressBlockSizeIoFlags(track: DRTrack, buffer: string, bufferLength: number, address: number, blockSize: number, flags: interop.PointerConvertible): boolean;

  cleanupTrackAfterVerification(track: DRTrack): boolean;
}

declare class DRTrackDataProduction extends NativeObject implements DRTrackDataProduction {
}

declare class DRNotificationCenter extends NSObject {
  static currentRunLoopCenter(): DRNotificationCenter;

  addObserverSelectorNameObject(observer: interop.Object, aSelector: string, notificationName: string, anObject: interop.Object): void;

  removeObserverNameObject(observer: interop.Object, aName: string, anObject: interop.Object): void;
}

declare class DRMSFFormatter extends NSFormatter {
  initWithFormat(format: string): this;

  format(): string;

  setFormat(format: string): void;
}

declare class DRFile extends DRFSObject {
  static fileWithPath(path: string): DRFile;

  initWithPath(path: string): this;

  static virtualFileWithNameData(name: string, data: NSData): DRFile;

  static virtualFileWithNameDataProducer(name: string, producer: interop.Object): DRFile;

  initWithNameData(name: string, data: NSData): this;

  initWithNameDataProducer(name: string, producer: interop.Object): this;

  static hardLinkPointingToInFilesystem(original: DRFile, filesystem: string): DRFile;

  static symLinkPointingToInFilesystem(original: DRFSObject, filesystem: string): DRFile;

  static finderAliasPointingToInFilesystem(original: DRFSObject, filesystem: string): DRFile;

  initWithLinkTypePointingToInFilesystem(linkType: string, original: DRFSObject, filesystem: string): this;
}

declare class DRFSObject extends NSObject {
  isVirtual(): boolean;

  sourcePath(): string;

  parent(): DRFolder;

  baseName(): string;

  setBaseName(baseName: string): void;

  specificNameForFilesystem(filesystem: string): string;

  specificNames(): NSDictionary;

  setSpecificNameForFilesystem(name: string, filesystem: string): void;

  setSpecificNames(specificNames: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  mangledNameForFilesystem(filesystem: string): string;

  mangledNames(): NSDictionary;

  propertyForKeyInFilesystemMergeWithOtherFilesystems(key: string, filesystem: string, merge: boolean): interop.Object;

  propertiesForFilesystemMergeWithOtherFilesystems(filesystem: string, merge: boolean): NSDictionary;

  setPropertyForKeyInFilesystem(property: interop.Object, key: string, filesystem: string): void;

  setPropertiesInFilesystem(properties: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>, filesystem: string): void;

  explicitFilesystemMask(): number;

  setExplicitFilesystemMask(mask: number): void;

  effectiveFilesystemMask(): number;
}

declare class DRCDTextBlock extends NSObject {
  static arrayOfCDTextBlocksFromPacks(packs: NSData): NSArray;

  static cdTextBlockWithLanguageEncoding(lang: string, enc: number): DRCDTextBlock;

  initWithLanguageEncoding(lang: string, enc: number): this;

  properties(): NSDictionary;

  setProperties(properties: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  trackDictionaries(): NSArray;

  setTrackDictionaries(tracks: NSArray<interop.Object> | Array<interop.Object>): void;

  objectForKeyOfTrack(key: string, trackIndex: number): interop.Object;

  setObjectForKeyOfTrack(value: interop.Object, key: string, trackIndex: number): void;

  flatten(): number;

  language(): string;

  encoding(): number;
}

declare class DRBurn extends NSObject {
  static burnForDevice(device: DRDevice): DRBurn;

  initWithDevice(device: DRDevice): this;

  writeLayout(layout: interop.Object): void;

  status(): NSDictionary;

  abort(): void;

  properties(): NSDictionary;

  setProperties(properties: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  device(): DRDevice;

  requestedBurnSpeed(): number;

  setRequestedBurnSpeed(speed: number): void;

  appendable(): boolean;

  setAppendable(appendable: boolean): void;

  verifyDisc(): boolean;

  setVerifyDisc(verify: boolean): void;

  completionAction(): string;

  setCompletionAction(action: string): void;

  static layoutForImageFile(path: string): interop.Object;
}

declare class DRTrack extends NSObject {
  initWithProducer(producer: interop.Object): this;

  properties(): NSDictionary;

  setProperties(properties: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  testProductionSpeedForInterval(interval: number): number;

  testProductionSpeedForLength(length: number): number;

  estimateLength(): number;

  length(): DRMSF;

  preGap(): DRMSF;

  setPreGap(preGap: DRMSF): void;

  static trackForAudioOfLengthProducer(length: DRMSF, producer: interop.Object): DRTrack;

  static trackForAudioFile(path: string): DRTrack;

  static trackForRootFolder(rootFolder: DRFolder): DRTrack;
}

declare class DRDevice extends NSObject {
  static devices(): NSArray;

  static deviceForBSDName(bsdName: string): DRDevice;

  static deviceForIORegistryEntryPath(path: string): DRDevice;

  isValid(): boolean;

  info(): NSDictionary;

  status(): NSDictionary;

  openTray(): boolean;

  closeTray(): boolean;

  ejectMedia(): boolean;

  acquireExclusiveAccess(): boolean;

  releaseExclusiveAccess(): void;

  acquireMediaReservation(): void;

  releaseMediaReservation(): void;

  isEqualToDevice(otherDevice: DRDevice): boolean;

  writesCD(): boolean;

  writesDVD(): boolean;

  displayName(): string;

  ioRegistryEntryPath(): string;

  mediaIsPresent(): boolean;

  mediaIsTransitioning(): boolean;

  mediaIsBusy(): boolean;

  mediaType(): string;

  mediaIsBlank(): boolean;

  mediaIsAppendable(): boolean;

  mediaIsOverwritable(): boolean;

  mediaIsErasable(): boolean;

  mediaIsReserved(): boolean;

  mediaSpaceOverwritable(): DRMSF;

  mediaSpaceUsed(): DRMSF;

  mediaSpaceFree(): DRMSF;

  trayIsOpen(): boolean;

  bsdName(): string;
}

declare class DRErase extends NSObject {
  static eraseForDevice(device: DRDevice): DRErase;

  initWithDevice(device: DRDevice): this;

  start(): void;

  status(): NSDictionary;

  properties(): NSDictionary;

  setProperties(properties: NSDictionary<interop.Object, interop.Object> | Record<interop.Object, interop.Object>): void;

  device(): DRDevice;

  eraseType(): string;

  setEraseType(type: string): void;
}

declare class DRFolder extends DRFSObject {
  static folderWithPath(path: string): DRFolder;

  initWithPath(path: string): this;

  static virtualFolderWithName(name: string): DRFolder;

  initWithName(name: string): this;

  makeVirtual(): void;

  addChild(child: DRFSObject): void;

  removeChild(child: DRFSObject): void;

  count(): number;

  children(): NSArray;
}

declare class DRMSF extends NSNumber {
  static msf(): DRMSF;

  static msfWithFrames(frames: number): DRMSF;

  static msfWithString(string: string): DRMSF;

  initWithFrames(frames: number): this;

  initWithString(string: string): this;

  minutes(): number;

  seconds(): number;

  frames(): number;

  sectors(): number;

  msfByAdding(msf: DRMSF): DRMSF;

  msfBySubtracting(msf: DRMSF): DRMSF;

  readonly description: string;

  descriptionWithFormat(format: string): string;

  isEqualToMSF(otherDRMSF: DRMSF): boolean;
}

