interface MTAudioProcessingTapCallbacks { version: number; clientInfo: interop.Pointer | interop.Reference; init: interop.FunctionReference<(p1: any, p2: interop.Pointer | interop.Reference, p3: interop.Pointer | interop.Reference>) => void>; finalize: interop.FunctionReference<(p1: any) => void>; prepare: interop.FunctionReference<(p1: any, p2: number, p3: interop.Pointer | interop.Reference) => void>; unprepare: interop.FunctionReference<(p1: any) => void>; process: interop.FunctionReference<(p1: any, p2: number, p3: number, p4: interop.Pointer | interop.Reference, p5: interop.Pointer | interop.Reference, p6: interop.Pointer | interop.Reference) => void>; } declare var MTAudioProcessingTapCallbacks: interop.StructType; declare function MTAudioProcessingTapCreate(allocator: any, callbacks: interop.Pointer | interop.Reference, flags: number, tapOut: interop.Pointer | interop.Reference): number; declare function MTAudioProcessingTapGetSourceAudio(tap: any, numberFrames: number, bufferListInOut: interop.Pointer | interop.Reference, flagsOut: interop.Pointer | interop.Reference, timeRangeOut: interop.Pointer | interop.Reference, numberFramesOut: interop.Pointer | interop.Reference): number; declare function MTAudioProcessingTapGetStorage(tap: any): interop.Pointer | interop.Reference; declare function MTAudioProcessingTapGetTypeID(): number; declare function MTCopyLocalizedNameForMediaSubType(mediaType: number, mediaSubType: number): interop.Unmanaged; declare function MTCopyLocalizedNameForMediaType(mediaType: number): interop.Unmanaged; declare const kMTAudioProcessingTapCallbacksVersion_0: number; declare const kMTAudioProcessingTapCreationFlag_PostEffects: number; declare const kMTAudioProcessingTapCreationFlag_PreEffects: number; declare const kMTAudioProcessingTapFlag_EndOfStream: number; declare const kMTAudioProcessingTapFlag_StartOfStream: number;