luxlabs header browser preview


@class NSArray;

@interface PFSlowMotionUtilities : NSObject

@property (class, readonly, nonatomic) int preferredTimeScale;
@property (class, readonly, nonatomic) NSArray *slowMotionSourceAssetPropertyKeys;

+ (id)sharedConfiguration;
+ (id)timeRangeMapperForSourceDuration:(double)a0 slowMotionRate:(float)a1 slowMotionTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 forExport:(BOOL)a3;
+ (BOOL)_isValidSlowMotionRate:(float)a0;
+ (BOOL)_isValidSlowMotionTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0;
+ (BOOL)_scaleComposition:(id)a0 baseDuration:(double)a1 slowMotionRate:(float)a2 slowMotionRegions:(id)a3 forExport:(BOOL)a4 outTimeRangeMapper:(id *)a5;
+ (double)_scaleWithinComposition:(id)a0 fromCursor:(double)a1 timeStep:(double)a2 rate:(float)a3 timeRangeMapper:(id)a4;
+ (id)_scaledCompositionForAsset:(id)a0 slowMotionRate:(float)a1 slowMotionTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 forExport:(BOOL)a3 outTimeRangeMapper:(id *)a4;
+ (id)_setVolume:(float)a0 forSlowMotionRegionsInTrack:(id)a1 timeRangeMapper:(id)a2;
+ (id)_slowMotionRegionsFromSlowMotionTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0;
+ (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })_timeRangeFromTime:(float)a0 toTime:(float)a1;
+ (struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })adjustTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a0 forNewStartTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a1 endTime:(struct { long long x0; int x1; unsigned int x2; long long x3; })a2;
+ (id)assetFromVideoAsset:(id)a0 slowMotionRate:(float)a1 slowMotionTimeRange:(struct { struct { long long x0; int x1; unsigned int x2; long long x3; } x0; struct { long long x0; int x1; unsigned int x2; long long x3; } x1; })a2 forExport:(BOOL)a3 outAudioMix:(id *)a4 outTimeRangeMapper:(id *)a5;
+ (id)audioMixForScaledComposition:(id)a0 timeRangeMapper:(id)a1;
+ (void)configureExportSession:(id)a0 forcePreciseConversion:(BOOL)a1;
+ (id)exportPresetForAsset:(id)a0 preferredPreset:(id)a1;

@end