added files via upload

This commit is contained in:
Balackburn
2023-06-27 09:54:41 +02:00
commit 2ff6aac218
1420 changed files with 88898 additions and 0 deletions

2
Tweaks/YouTubeHeader/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

2
Tweaks/YouTubeHeader/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.DS_Store

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface ASCollectionElement : NSObject
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface ASCollectionView : UICollectionView
@end

View File

@@ -0,0 +1,4 @@
#import "ASDisplayNode.h"
@interface ASControlNode : ASDisplayNode
@end

View File

@@ -0,0 +1,21 @@
#import <UIKit/UIKit.h>
#import "ASLayoutElementStyleYoga.h"
@interface ASDisplayNode : NSObject
@property (atomic, copy, readwrite) NSArray *yogaChildren;
@property (nonatomic, copy, readwrite) NSString *accessibilityIdentifier;
@property (atomic, weak, readonly) ASDisplayNode *yogaParent;
@property (atomic, strong, readwrite) id contents;
@property (atomic, assign, readwrite) CGFloat alpha;
@property (atomic, assign, readwrite) CGRect frame;
@property (atomic, assign, readwrite) CGRect bounds;
@property (atomic, assign, readonly) unsigned char interfaceState;
@property (atomic, assign, readwrite, getter=isHidden) BOOL hidden;
@property (atomic, assign, readwrite, getter=isLayerBacked) BOOL layerBacked;
@property (atomic, assign, readwrite) BOOL automaticallyManagesSubnodes;
- (id)controller;
- (ASLayoutElementStyleYoga *)style;
- (UIViewController *)closestViewController;
- (UIView *)view;
- (BOOL)isNodeLoaded;
@end

View File

@@ -0,0 +1,8 @@
#import <Foundation/Foundation.h>
@interface ASLayoutElementStyleYoga : NSObject
@property (nonatomic, assign, readwrite) CGFloat spacingBefore;
@property (nonatomic, assign, readwrite) CGFloat spacingAfter;
@property (nonatomic, assign, readwrite) CGFloat flexGrow;
@property (nonatomic, assign, readwrite) CGFloat flexShrink;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface ASNodeContext : NSObject
- (instancetype)initWithOptions:(unsigned char)options;
- (unsigned char)options;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface ASNodeController : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "ASControlNode.h"
@interface ASTextNode : ASControlNode <UIGestureRecognizerDelegate>
@property (atomic, copy, readwrite) NSAttributedString *attributedText;
@end

View File

@@ -0,0 +1,6 @@
#import "ASCellNode.h"
#import "ELMElement.h"
@interface ELMCellNode : ASCellNode
@property (atomic, strong, readwrite) ELMElement *element;
@end

View File

@@ -0,0 +1,8 @@
#import "ELMElement.h"
#import "ASDisplayNode.h"
@interface ELMContainerNode : ASDisplayNode
@property (atomic, strong, readwrite) ELMElement *element;
- (void)addYogaChild:(id)child;
- (void)addSubnode:(id)subnode;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface ELMElement : NSObject
- (id)newChildElementWithInstance:(const void *)instance;
- (const void *)instance;
@end

View File

@@ -0,0 +1,5 @@
#import "ASNodeController.h"
@interface ELMNodeController : ASNodeController
- (const void *)materializationContext;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface ELMNodeFactory : NSObject
+ (instancetype)sharedInstance;
- (id)nodeWithElement:(id)element materializationContext:(const void *)context;
@end

View File

@@ -0,0 +1,7 @@
#import "ASTextNode.h"
#import "ELMElement.h"
@interface ELMTextNode : ASTextNode
@property (atomic, strong, readwrite) ELMElement *element;
- (instancetype)initWithElement:(ELMElement *)element context:(id)context;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface GIMBindingBuilder : NSObject
- (instancetype)bindType:(Class)typeClass;
- (instancetype)initializedWith:(id (^)(id))block;
@end

View File

@@ -0,0 +1,8 @@
#import <Foundation/Foundation.h>
@interface GIMMe : NSObject
+ (instancetype)gimme;
- (instancetype)allocOf:(Class)cls;
- (id)nullableInstanceForType:(id)type;
- (id)instanceForType:(id)type;
@end

View File

@@ -0,0 +1,19 @@
#import "GOOModalView.h"
@interface GOOAlertView : GOOModalView
@property (nonatomic, copy, readwrite) NSString *title;
@property (nonatomic, readonly, strong) UILabel *titleLabel;
@property (nonatomic, copy, readwrite) NSString *subtitle;
@property (nonatomic, readonly, strong) UILabel *subtitleLabel;
@property (nonatomic, readwrite, copy) UIImage *icon;
+ (instancetype)dialog;
+ (instancetype)infoDialog;
+ (instancetype)confirmationDialog;
+ (instancetype)confirmationDialogWithAction:(void (^)(void))action actionTitle:(NSString *)actionTitle;
+ (instancetype)confirmationDialogWithAction:(void (^)(void))action actionTitle:(NSString *)actionTitle cancelTitle:(NSString *)cancelTitle;
+ (instancetype)confirmationDialogWithAction:(void (^)(void))action actionTitle:(NSString *)actionTitle cancelAction:(void (^)(void))cancelAction cancelTitle:(NSString *)cancelTitle;
+ (instancetype)confirmationDialogWithSelector:(SEL)selector actionTitle:(NSString *)actionTitle;
+ (instancetype)confirmationDialogWithSelector:(SEL)selector actionTitle:(NSString *)actionTitle showsCancelButton:(BOOL)showsCancelButton;
- (void)addCancelButton:(SEL)selector;
- (void)addCancelButtonWithAction:(void (^)(void))action;
@end

View File

@@ -0,0 +1,18 @@
#import <UIKit/UIKit.h>
@interface GOOModalView : UIView
@property (nonatomic, readwrite, weak) id target;
@property (nonatomic, readwrite, assign) BOOL shouldDismissOnBackgroundTap;
@property (nonatomic, readwrite, assign) BOOL shouldDismissOnApplicationBackground;
- (instancetype)initWithTarget:(id)target;
- (void)addTitle:(NSString *)title withAction:(void (^)(void))action;
- (void)addTitle:(NSString *)title withDestructiveAction:(void (^)(void))action;
- (void)addTitle:(NSString *)title withSelector:(SEL)selector;
- (void)addTitle:(NSString *)title withCancelSelector:(SEL)cancelSelector;
- (void)addTitle:(NSString *)title withDestructiveSelector:(SEL)cancelSelector;
- (void)addTitle:(NSString *)title iconImage:(UIImage *)iconImage withAction:(void (^)(void))action;
- (void)addTitle:(NSString *)title iconImage:(UIImage *)iconImage withSelector:(SEL)selector;
- (void)show;
- (void)cancel;
- (void)dismiss;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface GPBExtensionDescriptor : NSObject
- (Class)msgClass;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface GPBExtensionRegistry : NSObject
- (void)addExtension:(id)extension;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface GPBMessage : NSObject
- (id)firstSubmessage;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface HAMAsyncVTVideoDecoder : NSObject
- (instancetype)initWithDelegate:(id)delegate delegateQueue:(id)delegateQueue decodeQueue:(id)decodeQueue formatDescription:(id)formatDescription pixelBufferAttributes:(id)pixelBufferAttributes;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface HAMMIMEType : NSObject
- (unsigned int)audioCodec;
- (unsigned int)videoCodec;
@end

View File

@@ -0,0 +1,2 @@
@protocol HAMPixelBufferRenderingView
@end

View File

@@ -0,0 +1,5 @@
#import <AVKit/AVKit.h>
@interface HAMSBDLSampleBufferRenderingView : UIView
@property (retain, nonatomic, readonly) AVSampleBufferDisplayLayer *displayLayer;
@end

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2021 - 2022 PoomSmart
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface MLABRPolicy : NSObject
- (void)requestFormatReselection;
@end

View File

@@ -0,0 +1,5 @@
#import "MLFormat.h"
@interface MLABRPolicyFormatData : NSObject
- (instancetype)initWithFormat:(MLFormat *)format;
@end

View File

@@ -0,0 +1,5 @@
#import "MLABRPolicy.h"
// YouTube 17.30.3 and higher
@interface MLABRPolicyNew : MLABRPolicy
@end

View File

@@ -0,0 +1,5 @@
#import "MLABRPolicy.h"
// YouTube 17.30.3 and higher
@interface MLABRPolicyOld : MLABRPolicy
@end

View File

@@ -0,0 +1,5 @@
#import <AVKit/AVKit.h>
@interface MLAVAssetPlayer : NSObject
- (AVPlayerItem *)playerItem;
@end

View File

@@ -0,0 +1,8 @@
#import "MLAVPlayerLayerView.h"
#import "MLAVPlayer.h"
#import "MLAVPlayerViewDelegate.h"
@interface MLAVPIPPlayerLayerView : MLAVPlayerLayerView
@property (nonatomic, readonly, strong) AVPlayerLayer *playerLayer;
@property (nonatomic, readwrite, weak) NSObject <MLAVPlayerViewDelegate> *delegate;
@end

View File

@@ -0,0 +1,15 @@
#import "MLAVAssetPlayer.h"
#import "MLInnerTubePlayerConfig.h"
#import "MLPlayerViewProtocol.h"
#import "MLPlayerStickySettings.h"
@interface MLAVPlayer : NSObject
@property (nonatomic, readwrite, assign) BOOL active;
@property (nonatomic, readonly, assign) BOOL externalPlaybackActive;
@property (nonatomic, readwrite, assign) float rate;
@property (nonatomic, readonly, strong) MLVideo *video;
@property (nonatomic, readonly, strong) MLInnerTubePlayerConfig *config;
@property (nonatomic, readonly, strong) MLAVAssetPlayer *assetPlayer;
@property (nonatomic, readwrite, strong) UIView <MLPlayerViewProtocol> *renderingView;
- (instancetype)initWithVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)playerConfig stickySettings:(MLPlayerStickySettings *)stickySettings externalPlaybackActive:(BOOL)externalPlaybackActive;
@end

View File

@@ -0,0 +1,5 @@
#import "MLPlayerViewProtocol.h"
#import "HAMPixelBufferRenderingView.h"
@interface MLAVPlayerLayerView : UIView <MLPlayerViewProtocol, HAMPixelBufferRenderingView>
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@protocol MLAVPlayerViewDelegate <NSObject>
@required
- (void)playerViewErrorDidOccur:(id)arg1;
@end

View File

@@ -0,0 +1,10 @@
#include "GIMMe.h"
#import "MLVideo.h"
#import "MLInnerTubePlayerConfig.h"
#import "MLAVPlayerLayerView.h"
@interface MLDefaultPlayerViewFactory : NSObject
@property (nonatomic, weak, readwrite) GIMMe *gimme;
- (BOOL)canUsePlayerView:(UIView *)playerView forVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)config;
- (MLAVPlayerLayerView *)AVPlayerViewForVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)config;
@end

View File

@@ -0,0 +1,17 @@
#import <CoreGraphics/CoreGraphics.h>
#import "HAMMIMEType.h"
#import "YTIFormatStream.h"
@interface MLFormat : NSObject <NSCopying>
- (HAMMIMEType *)MIMEType;
- (YTIFormatStream *)formatStream;
- (NSURL *)URL;
- (int)width;
- (int)height;
- (int)singleDimensionResolution;
- (CGFloat)FPS;
- (BOOL)isAudio;
- (BOOL)isVideo;
- (BOOL)isText;
- (NSInteger)compareByQuality:(MLFormat *)format;
@end

View File

@@ -0,0 +1,7 @@
#import "MLVideo.h"
#import "MLInnerTubePlayerConfig.h"
#import "MLPlayerStickySettings.h"
@interface MLHAMPlayer : NSObject
- (instancetype)initWithVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)playerConfig stickySettings:(MLPlayerStickySettings *)stickySettings playerViewProvider:(id)playerViewProvider;
@end

View File

@@ -0,0 +1,8 @@
#import "MLABRPolicy.h"
#import "MLFormat.h"
#import "MLInnerTubePlayerConfig.h"
@interface MLHAMPlayerItem : NSObject
@property (nonatomic, readonly, strong) MLInnerTubePlayerConfig *config;
- (void)ABRPolicy:(MLABRPolicy *)policy selectableFormatsDidChange:(NSArray <MLFormat *> *)formats;
@end

View File

@@ -0,0 +1,7 @@
#import "MLVideo.h"
#import "MLInnerTubePlayerConfig.h"
@protocol MLHAMPlayerViewProtocol
- (void)makeActivePlayer;
- (void)setVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)playerConfig;
@end

View File

@@ -0,0 +1,4 @@
#import "MLHAMPlayer.h"
@interface MLHAMQueuePlayer : MLHAMPlayer
@end

View File

@@ -0,0 +1,4 @@
#import "HAMSBDLSampleBufferRenderingView.h"
@interface MLHAMSBDLSampleBufferRenderingView : HAMSBDLSampleBufferRenderingView
@end

View File

@@ -0,0 +1,7 @@
#import "YTIMediaCommonConfig.h"
#import "YTIHamplayerConfig.h"
@interface MLInnerTubePlayerConfig : NSObject
@property (nonatomic, readonly, strong) YTIMediaCommonConfig *mediaCommonConfig;
@property (nonatomic, readonly, strong) YTIHamplayerConfig *hamplayerConfig;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface MLOnesieVideoData : NSObject
@end

View File

@@ -0,0 +1,24 @@
#import <AVKit/AVKit.h>
#import "MLAVPIPPlayerLayerView.h"
#import "MLHAMSBDLSampleBufferRenderingView.h"
@interface MLPIPController : NSObject <AVPictureInPictureControllerDelegate, AVPictureInPictureSampleBufferPlaybackDelegate>
@property (nonatomic, strong, readwrite) MLAVPIPPlayerLayerView *AVPlayerView;
@property (nonatomic, strong, readwrite) MLHAMSBDLSampleBufferRenderingView *HAMPlayerView;
- (instancetype)initWithPlaceholderPlayerItem:(AVPlayerItem *)playerItem; // Deprecated
- (instancetype)initWithPlaceholderPlayerItemResourcePath:(NSString *)placeholderPath; // Deprecated
- (AVPictureInPictureControllerContentSource *)newContentSource API_AVAILABLE(ios(15.0));
- (BOOL)isPictureInPictureSupported;
- (BOOL)isPictureInPictureActive; // Deprecated
- (BOOL)pictureInPictureActive;
- (BOOL)contentSourceNeedsRefresh;
- (CGSize)renderSizeForView:(UIView *)view;
- (BOOL)startPictureInPicture; // Deprecated
- (void)stopPictureInPicture; // Deprecated
- (void)addPIPControllerObserver:(id)observer;
- (void)activatePiPController;
- (void)deactivatePiPController;
- (void)pictureInPictureControllerStartPlayback;
- (void)pictureInPictureControllerStopPlayback;
- (void)pause;
@end

View File

@@ -0,0 +1,8 @@
#import "GIMMe.h"
#import "MLVideo.h"
#import "MLInnerTubePlayerConfig.h"
@interface MLPlayerPool : NSObject
@property (nonatomic, weak, readwrite) GIMMe *gimme;
- (void)createHamResourcesForVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)playerConfig;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface MLPlayerPoolImpl : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface MLPlayerStickySettings : NSObject
@property (assign) float rate;
@end

View File

@@ -0,0 +1,7 @@
#import "MLVideo.h"
#import "MLInnerTubePlayerConfig.h"
@protocol MLPlayerViewProtocol
- (void)makeActivePlayer;
- (void)setVideo:(MLVideo *)video playerConfig:(MLInnerTubePlayerConfig *)playerConfig;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface MLQOEPingController : NSObject
@end

View File

@@ -0,0 +1,6 @@
#import "YTIFormatStream.h"
#import "MLFormat.h"
@interface MLRemoteStream : MLFormat
+ (instancetype)streamWithFormatStream:(YTIFormatStream *)formatStream;
@end

View File

@@ -0,0 +1,5 @@
#import "MLRemoteStream.h"
@interface MLStreamingData : NSObject
- (NSArray <MLRemoteStream *> *)adaptiveStreams;
@end

View File

@@ -0,0 +1,7 @@
#import "MLStreamingData.h"
#import "YTIVideoDetails.h"
@interface MLVideo : NSObject
- (MLStreamingData *)streamingData;
- (YTIVideoDetails *)videoDetails;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface MLVideoDecoderFactory : NSObject
@end

View File

@@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
@interface QTMIcon : NSObject
+ (UIImage *)imageWithName:(NSString *)name color:(UIColor *)color;
+ (UIImage *)tintImage:(UIImage *)image color:(UIColor *)color;
@end

View File

@@ -0,0 +1,3 @@
# YouTubeHeader
Headers for iOS YouTube app.

View File

@@ -0,0 +1,5 @@
#import "ASDisplayNode.h"
@interface UIView (AsyncDisplayKit)
- (void)addSubnode:(ASDisplayNode *)subnode;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface UIView (YouTube)
- (BOOL)yt_isVisible;
@end

View File

@@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>
@interface YTActionSheetAction : NSObject
+ (instancetype)actionWithTitle:(NSString *)title style:(NSInteger)style handler:(void (^)(YTActionSheetAction *))handler;
+ (instancetype)actionWithTitle:(NSString *)title iconImage:(UIImage *)iconImage style:(NSInteger)style handler:(void (^)(YTActionSheetAction *))handler;
+ (instancetype)actionWithTitle:(NSString *)title subtitle:(NSString *)subtitle iconImage:(UIImage *)iconImage handler:(void (^)(YTActionSheetAction *))handler;
+ (instancetype)actionWithTitle:(NSString *)title subtitle:(NSString *)subtitle iconImage:(UIImage *)iconImage accessibilityIdentifier:(NSString *)accessibilityIdentifier handler:(void (^)(YTActionSheetAction *))handler;
@end

View File

@@ -0,0 +1,7 @@
#import <UIKit/UIKit.h>
@interface YTActionSheetController : NSObject
+ (instancetype)actionSheetController;
- (void)addCancelActionIfNeeded;
- (void)presentFromViewController:(UIViewController *)viewController animated:(BOOL)animated completion:(void (^)(void))completion;
@end

View File

@@ -0,0 +1,6 @@
#import "GOOAlertView.h"
@interface YTAlertView : GOOAlertView
+ (instancetype)yt_dialog;
- (void)removeDefaultPadding;
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTAppDelegate : UIResponder
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTAppSettingsSectionItemActionController : NSObject
@end

View File

@@ -0,0 +1,9 @@
#import <Foundation/Foundation.h>
@interface YTAppSettingsStore : NSObject
+ (NSUInteger)valueTypeForSetting:(int)setting;
- (void)setValue:(NSNumber *)value forSetting:(int)setting;
- (void)setBool:(BOOL)value forSetting:(int)setting;
- (NSNumber *)valueForSetting:(int)setting;
- (BOOL)boolForSetting:(int)setting;
@end

View File

@@ -0,0 +1,4 @@
#import "ASCollectionView.h"
@interface YTAsyncCollectionView : ASCollectionView
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTAutonavEndscreenController : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTBackgroundabilityPolicy : NSObject
- (void)addBackgroundabilityPolicyObserver:(id)observer;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
#import "YTCollectionViewCellProtocol.h"
@interface YTCellController : NSObject
@property (nonatomic, weak, readwrite) UICollectionViewCell <YTCollectionViewCellProtocol> *cell;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTColdConfig : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "YTSlideForActionsView.h"
@interface YTCollectionViewCell : UICollectionViewCell
@property (nonatomic, strong, readwrite) YTSlideForActionsView *slideForActionsView;
@end

View File

@@ -0,0 +1,2 @@
@protocol YTCollectionViewCellProtocol
@end

View File

@@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>
@interface YTColor : NSObject
+ (UIColor *)white1;
+ (UIColor *)black1;
+ (UIColor *)black2;
+ (UIColor *)black3;
@end

View File

@@ -0,0 +1,67 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
// Deprecated, use YTCommonColorPalette
@interface YTColorPalette : NSObject
+ (instancetype)lightPalette;
+ (instancetype)darkPalette;
+ (instancetype)colorPaletteForPageStyle:(NSInteger)pageStyle;
- (NSInteger)pageStyle;
- (UIColor *)background1;
- (UIColor *)background2;
- (UIColor *)background3;
- (UIColor *)brandBackgroundSolid;
- (UIColor *)brandBackgroundPrimary;
- (UIColor *)brandBackgroundSecondary;
- (UIColor *)generalBackgroundA;
- (UIColor *)generalBackgroundB;
- (UIColor *)generalBackgroundC;
- (UIColor *)errorBackground;
- (UIColor *)textPrimary;
- (UIColor *)textSecondary;
- (UIColor *)textDisabled;
- (UIColor *)textPrimaryInverse;
- (UIColor *)callToAction;
- (UIColor *)iconActive;
- (UIColor *)iconActiveOther;
- (UIColor *)iconInactive;
- (UIColor *)iconDisabled;
- (UIColor *)badgeChipBackground;
- (UIColor *)buttonChipBackgroundHover;
- (UIColor *)touchResponse;
- (UIColor *)callToActionInverse;
- (UIColor *)brandIconActive;
- (UIColor *)brandIconInactive;
- (UIColor *)brandButtonBackground;
- (UIColor *)brandLinkText;
- (UIColor *)tenPercentLayer;
- (UIColor *)snackbarBackground;
- (UIColor *)themedBlue;
- (UIColor *)themedGreen;
- (UIColor *)staticBrandRed;
- (UIColor *)staticBrandWhite;
- (UIColor *)staticBrandBlack;
- (UIColor *)staticClearColor;
- (UIColor *)staticAdYellow;
- (UIColor *)staticGrey;
- (UIColor *)overlayBackgroundSolid;
- (UIColor *)overlayBackgroundHeavy;
- (UIColor *)overlayBackgroundMedium;
- (UIColor *)overlayBackgroundMediumLight;
- (UIColor *)overlayBackgroundLight;
- (UIColor *)overlayTextPrimary;
- (UIColor *)overlayTextSecondary;
- (UIColor *)overlayTextTertiary;
- (UIColor *)overlayIconActiveCallToAction;
- (UIColor *)overlayIconActiveOther;
- (UIColor *)overlayIconInactive;
- (UIColor *)overlayIconDisabled;
- (UIColor *)overlayFilledButtonActive;
- (UIColor *)overlayButtonSecondary;
- (UIColor *)overlayButtonPrimary;
- (UIColor *)overlayBackgroundBrand;
- (UIColor *)overlayBackgroundClear;
- (UIColor *)verifiedBadgeBackground;
- (UIColor *)themedOverlayBackground;
- (UIColor *)adIndicator;
@end

View File

@@ -0,0 +1,74 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
// YouTube 17.19.2 and higher
@interface YTCommonColorPalette : NSObject
+ (instancetype)lightPalette;
+ (instancetype)darkPalette;
- (NSInteger)pageStyle;
- (UIColor *)background1;
- (UIColor *)background2;
- (UIColor *)background3;
- (UIColor *)staticBlue;
- (UIColor *)brandBackgroundSolid;
- (UIColor *)brandBackgroundPrimary;
- (UIColor *)brandBackgroundSecondary;
- (UIColor *)generalBackgroundA;
- (UIColor *)generalBackgroundB;
- (UIColor *)generalBackgroundC;
- (UIColor *)errorBackground;
- (UIColor *)textPrimary;
- (UIColor *)textSecondary;
- (UIColor *)textDisabled;
- (UIColor *)textPrimaryInverse;
- (UIColor *)callToAction;
- (UIColor *)iconActive;
- (UIColor *)iconActiveOther;
- (UIColor *)iconInactive;
- (UIColor *)iconDisabled;
- (UIColor *)badgeChipBackground;
- (UIColor *)buttonChipBackgroundHover;
- (UIColor *)touchResponse;
- (UIColor *)callToActionInverse;
- (UIColor *)brandIconActive;
- (UIColor *)brandIconInactive;
- (UIColor *)brandButtonBackground;
- (UIColor *)brandLinkText;
- (UIColor *)tenPercentLayer;
- (UIColor *)snackbarBackground;
- (UIColor *)themedBlue;
- (UIColor *)themedGreen;
- (UIColor *)staticBrandRed;
- (UIColor *)staticBrandWhite;
- (UIColor *)staticBrandBlack;
- (UIColor *)staticClearColor;
- (UIColor *)staticAdYellow;
- (UIColor *)staticGrey;
- (UIColor *)overlayBackgroundSolid;
- (UIColor *)overlayBackgroundHeavy;
- (UIColor *)overlayBackgroundMedium;
- (UIColor *)overlayBackgroundMediumLight;
- (UIColor *)overlayBackgroundLight;
- (UIColor *)overlayTextPrimary;
- (UIColor *)overlayTextSecondary;
- (UIColor *)overlayTextTertiary;
- (UIColor *)overlayIconActiveCallToAction;
- (UIColor *)overlayIconActiveOther;
- (UIColor *)overlayIconInactive;
- (UIColor *)overlayIconDisabled;
- (UIColor *)overlayFilledButtonActive;
- (UIColor *)overlayButtonSecondary;
- (UIColor *)overlayButtonPrimary;
- (UIColor *)overlayBackgroundBrand;
- (UIColor *)overlayBackgroundClear;
- (UIColor *)verifiedBadgeBackground;
- (UIColor *)themedOverlayBackground;
- (UIColor *)adIndicator;
- (UIColor *)errorIndicator; // 17.52.1+
- (UIColor *)baseBackground; // 17.52.1+
- (UIColor *)raisedBackground; // 17.52.1+
- (UIColor *)menuBackground; // 17.52.1+
- (UIColor *)invertedBackground; // 17.52.1+
- (UIColor *)additiveBackground; // 17.52.1+
- (UIColor *)outline; // 17.52.1+
@end

View File

@@ -0,0 +1,14 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface YTCommonUtils : NSObject
+ (BOOL)isIPhoneWithNotch;
+ (BOOL)isIPad;
+ (BOOL)isSmallDevice;
+ (BOOL)isAppRunningInFullScreen;
+ (unsigned int)uniformRandomWithUpperBound:(unsigned int)upperBound;
+ (UIWindow *)mainWindow; // YTMainWindow
+ (NSBundle *)bundleForClass:(Class)cls;
+ (NSBundle *)resourceBundleForModuleName:(NSString *)module appBundle:(NSBundle *)appBundle;
+ (NSString *)hardwareModel;
@end

View File

@@ -0,0 +1,4 @@
#import "YTMainAppVideoPlayerOverlayView.h"
@interface YTContentVideoPlayerOverlayView : YTMainAppVideoPlayerOverlayView
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTELMContext : NSObject
- (id)parentResponder;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTEditResources : NSObject
+ (UIImage *)volumeControlsFeatureTabIconMuted:(BOOL)muted templateImage:(BOOL)templateImage;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface YTFullscreenEngagementActionBarButtonRenderer : NSObject
- (BOOL)isLikeButton;
- (BOOL)isDislikeButton;
@end

View File

@@ -0,0 +1,7 @@
#import "Block.h"
#import "YTIFormattedStringLabel.h"
@interface YTFullscreenEngagementActionBarButtonView : UIView
@property (nonatomic, assign, readwrite, getter=isToggled) BOOL toggled;
@property (nonatomic, strong, readwrite) YTIFormattedStringLabel *label;
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTGlassContainerView : UIView
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTGlobalConfig : NSObject
@end

View File

@@ -0,0 +1,9 @@
#import "YTIHotConfigGroup.h"
#import "YTIHamplayerHotConfig.h"
@interface YTHotConfig : NSObject
@property (atomic, strong, readwrite) YTIHotConfigGroup *hotConfigGroup;
- (YTIIosMediaHotConfig *)mediaHotConfig;
- (YTIHamplayerHotConfig *)hamplayerHotConfig;
- (BOOL)iosReleasePipControllerOnMain;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIAccessibilityData : NSObject
@property (nonatomic, copy, readwrite) NSString *label;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIBrowseEndpoint : NSObject
@property (nonatomic, copy, readwrite) NSString *browseId;
@end

View File

@@ -0,0 +1,12 @@
#import "GPBMessage.h"
@interface YTIBrowseRequest : GPBMessage
+ (NSString *)browseIDForExploreTab;
+ (NSString *)browseIDForAccountTab;
+ (NSString *)browseIDForActivityTab;
+ (NSString *)browseIDForHomeTab;
+ (NSString *)browseIDForLibraryTab;
+ (NSString *)browseIDForTrendingTab;
+ (NSString *)browseIDForSubscriptionsTab;
+ (NSString *)browseIDForWhatToWatch;
@end

View File

@@ -0,0 +1,15 @@
#import "YTICommand.h"
#import "YTIFormattedString.h"
#import "YTIIcon.h"
@interface YTIButtonRenderer : NSObject
@property (nonatomic, strong, readwrite) YTICommand *command;
@property (nonatomic, strong, readwrite) YTIIcon *icon;
@property (nonatomic, strong, readwrite) YTICommand *navigationEndpoint;
@property (nonatomic, copy, readwrite) NSString *targetId;
@property (nonatomic, strong, readwrite) YTIFormattedString *text;
@property (nonatomic, copy, readwrite) NSString *tooltip;
@property (nonatomic, assign, readwrite) int size;
@property (nonatomic, assign, readwrite) int style;
@property (nonatomic, assign, readwrite) BOOL isDisabled;
@end

View File

@@ -0,0 +1,7 @@
#import "YTIToggleButtonRenderer.h"
#import "YTIButtonRenderer.h"
@interface YTIButtonSupportedRenderers : NSObject
@property (nonatomic, strong, readwrite) YTIToggleButtonRenderer *toggleButtonRenderer;
@property (retain, nonatomic) YTIButtonRenderer *buttonRenderer;
@end

View File

@@ -0,0 +1,7 @@
#import "GPBMessage.h"
#import "YTIFormattedString.h"
@interface YTIChapterRenderer : GPBMessage
@property (nonatomic, readwrite, strong) YTIFormattedString *title;
@property (nonatomic, readwrite, assign) int timeRangeStartMillis;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIColorInfo : NSObject
@property (nonatomic, assign, readwrite) int transferCharacteristics;
@end

View File

@@ -0,0 +1,7 @@
#import "YTIReelWatchEndpoint.h"
#import "YTIBrowseEndpoint.h"
@interface YTICommand : NSObject
@property (nonatomic, readwrite, strong) YTIReelWatchEndpoint *reelWatchEndpoint;
@property (nonatomic, readwrite, strong) YTIBrowseEndpoint *browseEndpoint;
@end

View File

@@ -0,0 +1,6 @@
#import "YTIElementRendererCompatibilityOptions.h"
@interface YTIElementRenderer : GPBMessage
@property (nonatomic, strong, readwrite) YTIElementRendererCompatibilityOptions *compatibilityOptions;
@property (nonatomic, assign, readwrite) BOOL hasCompatibilityOptions;
@end

View File

@@ -0,0 +1,5 @@
#import "GPBMessage.h"
@interface YTIElementRendererCompatibilityOptions : GPBMessage
@property (nonatomic, assign, readwrite) BOOL hasAdLoggingData;
@end

View File

@@ -0,0 +1,6 @@
#import "YTIColorInfo.h"
@interface YTIFormatStream : NSObject
@property (nonatomic, strong, readwrite) YTIColorInfo *colorInfo;
@property (nonatomic, copy, readwrite) NSString *URL;
@end

View File

@@ -0,0 +1,8 @@
#import "YTIFormattedStringSupportedAccessibilityDatas.h"
@interface YTIFormattedString : NSObject
+ (instancetype)formattedStringWithString:(NSString *)string;
@property (nonatomic, strong, readwrite) NSMutableArray *runsArray;
@property (nonatomic, strong, readwrite) YTIFormattedStringSupportedAccessibilityDatas *accessibility;
- (NSString *)stringWithFormattingRemoved;
@end

View File

@@ -0,0 +1,7 @@
#import <UIKit/UIKit.h>
#import "YTIFormattedString.h"
@interface YTIFormattedStringLabel : UILabel
@property (nonatomic, copy, readwrite) NSAttributedString *attributedText;
- (void)setFormattedString:(YTIFormattedString *)string;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIAccessibilityData.h"
@interface YTIFormattedStringSupportedAccessibilityDatas : NSObject
@property (nonatomic, strong, readwrite) YTIAccessibilityData *accessibilityData;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIGuideResponseSupportedRenderers.h"
@interface YTIGuideResponse : NSObject
- (NSMutableArray <YTIGuideResponseSupportedRenderers *> *)itemsArray;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIPivotBarRenderer.h"
@interface YTIGuideResponseSupportedRenderers : NSObject
- (YTIPivotBarRenderer *)pivotBarRenderer;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIHamplayerABRConfig : NSObject
@property (nonatomic, assign, readwrite) BOOL preferSoftwareHdrOverHardwareSdr;
@end

View File

@@ -0,0 +1,12 @@
#import "YTIHamplayerStreamFilter.h"
#import "YTIHamplayerABRConfig.h"
@interface YTIHamplayerConfig : NSObject
@property (nonatomic, assign, readwrite) int renderViewType;
@property (nonatomic, assign, readwrite) BOOL useSbdlRenderView;
@property (nonatomic, assign, readwrite) BOOL useResolutionForHfrHdFormatFilter;
@property (nonatomic, assign, readwrite) BOOL disableHfrHdFormatFilter;
@property (nonatomic, assign, readwrite) BOOL disableResolveOverlappingQualitiesByCodec;
@property (nonatomic, strong, readwrite) YTIHamplayerStreamFilter *streamFilter;
@property (nonatomic, strong, readwrite) YTIHamplayerABRConfig *videoAbrConfig;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIHamplayerHotConfig : NSObject
@property (nonatomic, assign, readwrite) int renderViewType;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface YTIHamplayerSoftwareStreamFilter : NSObject
@property int maxArea;
@property int maxFps;
@end

View File

@@ -0,0 +1,7 @@
#import "YTIHamplayerSoftwareStreamFilter.h"
@interface YTIHamplayerStreamFilter : NSObject
@property (nonatomic, strong, readwrite) YTIHamplayerSoftwareStreamFilter *av1;
@property (nonatomic, strong, readwrite) YTIHamplayerSoftwareStreamFilter *vp9;
@property (nonatomic, assign, readwrite) BOOL enableVideoCodecSplicing;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIMediaHotConfig.h"
@interface YTIHotConfigGroup : NSObject
@property (nonatomic, strong, readwrite) YTIMediaHotConfig *mediaHotConfig;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIIcon : NSObject
@property (nonatomic, assign, readwrite) int iconType;
@end

View File

@@ -0,0 +1,7 @@
#import <Foundation/Foundation.h>
@interface YTIIosMediaHotConfig : NSObject
@property (nonatomic, assign, readwrite) BOOL enablePictureInPicture;
@property (nonatomic, assign, readwrite) BOOL enablePipForNonBackgroundableContent;
@property (nonatomic, assign, readwrite) BOOL enablePipForNonPremiumUsers;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIIosOnesieHotConfig : NSObject
@property (nonatomic, assign, readwrite) BOOL prepareVideoDecoder;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIItemSectionSupportedRenderers.h"
@interface YTIItemSectionRenderer : GPBMessage
@property (nonatomic, strong, readwrite) NSMutableArray <YTIItemSectionSupportedRenderers *> *contentsArray;
@end

View File

@@ -0,0 +1,8 @@
#import "YTIElementRenderer.h"
@interface YTIItemSectionSupportedRenderers : GPBMessage
@property (nonatomic, strong, readwrite) YTIElementRenderer *elementRenderer;
@property (nonatomic, assign, readwrite) BOOL hasPromotedVideoRenderer;
@property (nonatomic, assign, readwrite) BOOL hasPromotedVideoInlineMutedRenderer;
@property (nonatomic, assign, readwrite) BOOL hasCompactPromotedVideoRenderer;
@end

View File

@@ -0,0 +1,23 @@
#import "YTLikeStatus.h"
#import "YTILikeTarget.h"
#import "YTIFormattedString.h"
@interface YTILikeButtonRenderer : NSObject
@property (nonatomic, strong, readwrite) YTILikeTarget *target;
@property (nonatomic, strong, readwrite) YTIFormattedString *likeCountText;
@property (nonatomic, strong, readwrite) YTIFormattedString *likeCountWithLikeText;
@property (nonatomic, strong, readwrite) YTIFormattedString *likeCountWithUnlikeText;
@property (nonatomic, strong, readwrite) YTIFormattedString *dislikeCountText;
@property (nonatomic, strong, readwrite) YTIFormattedString *dislikeCountWithDislikeText;
@property (nonatomic, strong, readwrite) YTIFormattedString *dislikeCountWithUndislikeText;
@property (nonatomic, assign, readwrite) BOOL hasLikeCountText;
@property (nonatomic, assign, readwrite) BOOL hasLikeCountWithLikeText;
@property (nonatomic, assign, readwrite) BOOL hasLikeCountWithUnlikeText;
@property (nonatomic, assign, readwrite) BOOL hasDislikeCountText;
@property (nonatomic, assign, readwrite) BOOL hasDislikeCountWithDislikeText;
@property (nonatomic, assign, readwrite) BOOL hasDislikeCountWithUndislikeText;
@property (nonatomic, assign, readwrite) BOOL likesAllowed;
@property (nonatomic, assign, readwrite) YTLikeStatus likeStatus;
@property (nonatomic, assign, readwrite) int likeCount;
@property (nonatomic, assign, readwrite) int dislikeCount;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTILikeTarget : NSObject
@property (nonatomic, copy, readwrite) NSString *videoId;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIMediaCommonConfig : NSObject
@property (nonatomic, assign, readwrite) BOOL useServerDrivenAbr;
@end

View File

@@ -0,0 +1,7 @@
#import "YTIIosMediaHotConfig.h"
#import "YTIMediaQualitySettingsHotConfig.h"
@interface YTIMediaHotConfig : NSObject
@property (nonatomic, strong, readwrite) YTIIosMediaHotConfig *iosMediaHotConfig;
@property (nonatomic, strong, readwrite) YTIMediaQualitySettingsHotConfig *mediaQualitySettingsHotConfig;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIMediaQualitySettingsHotConfig : NSObject
@property (nonatomic, assign, readwrite) BOOL enablePersistentVideoQualitySettings;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTIOfflinePromoRenderer : NSObject
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTIOfflineabilityRenderer : NSObject
@end

View File

@@ -0,0 +1,10 @@
#import "YTIButtonRenderer.h"
#import "YTIOfflinePromoRenderer.h"
#import "YTIOfflineabilityRenderer.h"
@interface YTIOfflineabilitySupportedRenderers : NSObject
@property (nonatomic, strong, readwrite) YTIOfflinePromoRenderer *offlinePromoRenderer;
@property (nonatomic, strong, readwrite) YTIOfflineabilityRenderer *offlineabilityRenderer;
@property (nonatomic, strong, readwrite) YTIButtonRenderer *buttonRenderer;
- (int)rendererOneOfCase;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIIosOnesieHotConfig.h"
@interface YTIOnesieHotConfig : NSObject
@property (nonatomic, strong, readwrite) YTIIosOnesieHotConfig *iosConfig;
@end

View File

@@ -0,0 +1,5 @@
#import "YTICommand.h"
@interface YTIPaygatedQualityDetails : GPBMessage
@property (nonatomic, strong, readwrite) YTICommand *endpoint;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIPictureInPictureRendererRoot : NSObject
+ (id)pictureInPictureRenderer;
@end

View File

@@ -0,0 +1,5 @@
#import "GPBMessage.h"
@interface YTIPivotBarIconOnlyItemRenderer : GPBMessage
- (NSString *)pivotIdentifier;
@end

View File

@@ -0,0 +1,7 @@
#import "YTICommand.h"
@interface YTIPivotBarItemRenderer : NSObject
- (NSString *)pivotIdentifier;
- (YTICommand *)navigationEndpoint;
- (void)setNavigationEndpoint:(YTICommand *)navigationEndpoint;
@end

View File

@@ -0,0 +1,6 @@
#import "YTIPivotBarSupportedRenderers.h"
@interface YTIPivotBarRenderer : NSObject
+ (YTIPivotBarSupportedRenderers *)pivotSupportedRenderersWithBrowseId:(NSString *)browseId title:(NSString *)title iconType:(int)iconType;
- (NSMutableArray <YTIPivotBarSupportedRenderers *> *)itemsArray;
@end

View File

@@ -0,0 +1,7 @@
#import "YTIPivotBarItemRenderer.h"
#import "YTIPivotBarIconOnlyItemRenderer.h"
@interface YTIPivotBarSupportedRenderers : NSObject
- (YTIPivotBarItemRenderer *)pivotBarItemRenderer;
- (YTIPivotBarIconOnlyItemRenderer *)pivotBarIconOnlyItemRenderer;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIVideoDetails.h"
@interface YTIPlayerResponse : NSObject
@property (nonatomic, strong, readwrite) YTIVideoDetails *videoDetails;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTIReelWatchEndpoint : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "YTISectionListSupportedRenderers.h"
@interface YTISectionListRenderer : GPBMessage
@property (nonatomic, strong, readwrite) NSMutableArray <YTISectionListSupportedRenderers *> *contentsArray;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIItemSectionRenderer.h"
@interface YTISectionListSupportedRenderers : GPBMessage
@property (nonatomic, strong, readwrite) YTIItemSectionRenderer *itemSectionRenderer;
@end

View File

@@ -0,0 +1,5 @@
#import "GPBExtensionDescriptor.h"
@interface YTIShowEngagementPanelEndpoint : NSObject
+ (GPBExtensionDescriptor *)showEngagementPanelEndpoint;
@end

View File

@@ -0,0 +1,5 @@
#import "YTIButtonSupportedRenderers.h"
@interface YTISlimMetadataButtonRenderer : NSObject
@property (retain, nonatomic) YTIButtonSupportedRenderers *button;
@end

View File

@@ -0,0 +1,11 @@
#import "YTISlimMetadataToggleButtonRenderer.h"
#import "YTISlimMetadataButtonRenderer.h"
@interface YTISlimMetadataButtonSupportedRenderers : NSObject
@property (nonatomic, strong, readwrite) YTISlimMetadataToggleButtonRenderer *slimMetadataToggleButtonRenderer;
@property (retain, nonatomic) YTISlimMetadataButtonRenderer *slimMetadataButtonRenderer;
- (BOOL)slimButton_isLikeButton;
- (BOOL)slimButton_isDislikeButton;
- (BOOL)slimButton_isOfflineButton;
- (int)rendererOneOfCase;
@end

View File

@@ -0,0 +1,7 @@
#import "YTILikeTarget.h"
#import "YTIButtonSupportedRenderers.h"
@interface YTISlimMetadataToggleButtonRenderer : NSObject
@property (nonatomic, strong, readwrite) YTILikeTarget *target;
@property (nonatomic, strong, readwrite) YTIButtonSupportedRenderers *button;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIStringRun : NSObject
@property (nonatomic, copy, readwrite) NSString *text;
@end

View File

@@ -0,0 +1,6 @@
#import "YTIFormattedString.h"
@interface YTIToggleButtonRenderer : NSObject
@property (nonatomic, strong, readwrite) YTIFormattedString *defaultText;
@property (nonatomic, strong, readwrite) YTIFormattedString *toggledText;
@end

View File

@@ -0,0 +1,8 @@
#import <Foundation/Foundation.h>
@interface YTIVideoDetails : NSObject
@property (nonatomic, assign, readwrite) BOOL allowRatings;
@property (nonatomic, assign, readwrite) float averageRating;
@property (nonatomic, copy, readwrite) NSString *viewCount;
@property (nonatomic, copy, readwrite) NSString *channelId;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTIWatchNextResponse : NSObject
@property (nonatomic, assign, readwrite) BOOL hasOnUiReady;
@end

View File

@@ -0,0 +1,18 @@
#import "YTGlassContainerView.h"
#import "YTInlinePlayerBarView.h"
#import "YTSegmentableInlinePlayerBarView.h"
#import "YTLabel.h"
#import "YTQTMButton.h"
@interface YTInlinePlayerBarContainerView : YTGlassContainerView
@property (nonatomic, strong, readwrite) YTInlinePlayerBarView *playerBar; // Replaced by segmentablePlayerBar in newer versions
@property (nonatomic, strong, readwrite) YTSegmentableInlinePlayerBarView *segmentablePlayerBar;
@property (nonatomic, strong, readwrite) UIView *multiFeedElementView;
@property (nonatomic, strong, readwrite) YTLabel *durationLabel;
@property (nonatomic, assign, readwrite) BOOL showOnlyFullscreenButton;
@property (nonatomic, assign, readwrite) int layout;
@property (nonatomic, weak, readwrite) id delegate;
- (YTQTMButton *)exitFullscreenButton;
- (YTQTMButton *)enterFullscreenButton;
- (void)setChapters:(NSArray *)chapters;
@end

View File

@@ -0,0 +1,6 @@
#import "YTPlayerViewController.h"
@interface YTInlinePlayerBarView : UIView
@property (nonatomic, readonly, assign) CGFloat totalTime;
@property (nonatomic, readwrite, strong) YTPlayerViewController *playerViewController;
@end

View File

@@ -0,0 +1,4 @@
#import "YTCellController.h"
@interface YTInnerTubeCellController : YTCellController
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTLabel : UILabel
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTLightweightQTMButton : UIButton
@property (nonatomic, assign, readwrite, getter=isUppercaseTitle) BOOL uppercaseTitle;
@end

View File

@@ -0,0 +1,12 @@
#ifndef _YT_LIKESTATUS
#define _YT_LIKESTATUS
#import <Foundation/Foundation.h>
typedef NS_ENUM(int, YTLikeStatus) {
YTLikeStatusLike = 0,
YTLikeStatusDislike = 1,
YTLikeStatusNeutral = 2
};
#endif

View File

@@ -0,0 +1,9 @@
#import "GIMMe.h"
#import "YTSingleVideoControllerDelegate.h"
@interface YTLocalPlaybackController : NSObject <YTSingleVideoControllerDelegate>
- (GIMMe *)gimme; // Deprecated
- (NSString *)currentVideoID;
- (int)playerVisibility;
- (void)setMuted:(BOOL)muted;
@end

View File

@@ -0,0 +1,9 @@
#import "YTQTMButton.h"
#import "YTPlayerViewController.h"
@interface YTMainAppControlsOverlayView : UIView
+ (CGFloat)topButtonAdditionalPadding;
@property (nonatomic, assign, readwrite, getter=isOverlayVisible) BOOL overlayVisible;
@property (nonatomic, strong, readwrite) YTPlayerViewController *playerViewController;
- (YTQTMButton *)buttonWithImage:(UIImage *)image accessibilityLabel:(NSString *)accessibilityLabel verticalContentPadding:(CGFloat)verticalContentPadding;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTMainAppPlayerOverlayView : UIView
+ (CGFloat)topButtonAdditionalPadding;
@end

View File

@@ -0,0 +1,20 @@
#import <UIKit/UIKit.h>
#ifdef LEGACY
#import "YTMainAppPlayerOverlayView.h"
@interface YTMainAppVideoPlayerOverlayView : YTMainAppPlayerOverlayView
@end
#else
#import "YTInlinePlayerBarContainerView.h"
#import "YTMainAppControlsOverlayView.h"
@interface YTMainAppVideoPlayerOverlayView : UIView
@property (nonatomic, strong, readwrite) YTInlinePlayerBarContainerView *playerBar;
- (YTMainAppControlsOverlayView *)controlsOverlayView;
@end
#endif

View File

@@ -0,0 +1,7 @@
#import "YTMainAppVideoPlayerOverlayView.h"
#import "YTPlayerViewController.h"
@interface YTMainAppVideoPlayerOverlayViewController : UIViewController
- (YTMainAppVideoPlayerOverlayView *)videoPlayerOverlayView;
- (YTPlayerViewController *)delegate;
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTMultiSizeViewController : UIViewController
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTNGWatchController : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "YTPlayerViewController.h"
@interface YTNGWatchLayerViewController : UIViewController
- (YTPlayerViewController *)playerViewController;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTNGWatchMiniBarView : UIView
@property (nonatomic, assign, readwrite) NSInteger watchMiniPlayerLayout;
@end

View File

@@ -0,0 +1,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface YTOfflineButtonPressedResponderEvent : NSObject
+ (instancetype)eventWithOfflineVideoID:(NSString *)videoID fromView:(UIView *)view firstResponder:(id)firstResponder;
- (void)send;
@end

View File

@@ -0,0 +1,8 @@
#import "YTCommonColorPalette.h"
@interface YTPageStyleController : NSObject
+ (YTCommonColorPalette *)currentColorPalette; // For YouTube older than 17.19.2, import/change type to YTColorPalette
+ (NSInteger)pageStyle;
@property (nonatomic, assign, readwrite) NSInteger appThemeSetting;
@property (nonatomic, assign, readonly) NSInteger pageStyle;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTPivotBarItemView : UIView
@property (strong, nonatomic) UIButton *navigationButton;
@end

View File

@@ -0,0 +1,5 @@
#import "YTSingleVideoController.h"
@protocol YTPlaybackController
@property (strong, nonatomic) YTSingleVideoController *activeVideo;
@end

View File

@@ -0,0 +1,6 @@
#import "YTSingleVideoController.h"
@interface YTPlaybackControllerUIWrapper : NSObject
- (YTSingleVideoController *)activeVideo;
- (YTSingleVideoController *)contentVideo;
@end

View File

@@ -0,0 +1,7 @@
#import "MLVideo.h"
#import "YTPlayerResponse.h"
@interface YTPlaybackData : NSObject
- (MLVideo *)video;
- (YTPlayerResponse *)playerResponse;
@end

View File

@@ -0,0 +1,6 @@
#import "YTWatchMetadataPanelStateResponderProvider.h"
#import "YTWatchPlaybackController.h"
@interface YTPlaybackStrippedWatchController : NSObject <YTWatchMetadataPanelStateResponderProvider>
@property (nonatomic, strong, readwrite) YTWatchPlaybackController *watchPlaybackController;
@end

View File

@@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>
@interface YTPlayerBarSegmentMarkerView : UIView
@property (nonatomic, readwrite, assign) CGFloat startTime;
@property (nonatomic, readwrite, assign) CGFloat endTime;
@property (nonatomic, readwrite, assign) CGFloat width;
@property (nonatomic, readwrite, assign) NSInteger type;
@end

View File

@@ -0,0 +1,11 @@
#import <UIKit/UIKit.h>
@interface YTPlayerBarSegmentedProgressView : UIView
@property (nonatomic, readwrite, assign) CGFloat totalTime;
@property (nonatomic, readwrite, assign) int playerViewLayout;
- (void)maybeCreateMarkerViews;
- (void)setChapters:(NSArray *)chapters;
- (void)createAndAddMarker:(CGFloat)arg1 type:(NSInteger)type width:(CGFloat)width;
- (void)createAndAddMarker:(CGFloat)arg1 type:(NSInteger)type clusterType:(NSInteger)clusterType width:(CGFloat)width; // Deprecated
- (NSMutableArray *)segmentViews;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface YTPlayerOverlay : NSObject
- (NSString *)overlayIdentifier;
- (NSInteger)overlayZIndex;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTPlayerOverlayProvider : NSObject
@end

View File

@@ -0,0 +1,17 @@
#import "GIMMe.h"
#import "YTSingleVideoController.h"
@interface YTPlayerPIPController : NSObject
@property (nonatomic, readonly, assign, getter=isPictureInPictureActive) BOOL pictureInPuctureActive;
@property (nonatomic, readonly, assign, getter=isPictureInPicturePossible) BOOL pictureInPucturePossible;
@property (retain, nonatomic) YTSingleVideoController *activeSingleVideo;
- (instancetype)initWithPlayerView:(id)playerView delegate:(id)delegate; // Deprecated, use initWithDelegate:
- (instancetype)initWithDelegate:(id)delegate;
- (GIMMe *)gimme; // Deprecated
- (BOOL)canInvokePictureInPicture; // Deprecated, use canEnablePictureInPicture
- (BOOL)canEnablePictureInPicture;
- (void)maybeInvokePictureInPicture; // Deprecated, use maybeEnablePictureInPicture
- (void)maybeEnablePictureInPicture;
- (void)play;
- (void)pause;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTPlayerResources : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "YTIPlayerResponse.h"
@interface YTPlayerResponse : NSObject
- (YTIPlayerResponse *)playerData;
@end

View File

@@ -0,0 +1,10 @@
#import <Foundation/Foundation.h>
@interface YTPlayerStatus : NSObject
- (BOOL)externalPlayback;
- (BOOL)backgroundPlayback;
- (BOOL)isInlinePlaybackActive;
- (BOOL)pictureInPicture;
- (int)visibility;
- (int)layout;
@end

View File

@@ -0,0 +1,9 @@
#import "MLAVPIPPlayerLayerView.h"
#import "YTPlaybackControllerUIWrapper.h"
@interface YTPlayerView : UIView
@property (retain, nonatomic) MLAVPIPPlayerLayerView *pipRenderingView; // Removed in newer versions
@property (nonatomic, strong, readwrite) UIView *overlayView; // Usually YTMainAppVideoPlayerOverlayView
- (YTPlaybackControllerUIWrapper *)playerViewDelegate;
- (UIView *)renderingView;
@end

View File

@@ -0,0 +1,21 @@
#import <UIKit/UIKit.h>
#import "GIMMe.h"
#import "YTPlaybackController.h"
#import "YTSingleVideoController.h"
@interface YTPlayerViewController : UIViewController <YTPlaybackController>
@property (nonatomic, readonly, assign) BOOL isPlayingAd;
@property (nonatomic, strong, readwrite) NSString *channelID;
- (GIMMe *)gimme; // Deprecated
- (NSString *)currentVideoID;
- (YTSingleVideoController *)activeVideo;
- (CGFloat)currentVideoMediaTime;
- (CGFloat)currentVideoTotalMediaTime;
- (int)playerViewLayout;
- (BOOL)isMDXActive;
- (void)didPressToggleFullscreen;
- (void)setMuted:(BOOL)muted;
- (void)setPlayerViewLayout:(int)layout;
- (void)scrubToTime:(CGFloat)time; // Deprecated
- (void)seekToTime:(CGFloat)time;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTPlayerViewControllerConfig : NSObject
@end

View File

@@ -0,0 +1,6 @@
#import "YTCollectionViewCell.h"
@interface YTPlaylistPanelProminentThumbnailVideoCell : YTCollectionViewCell
- (void)setSwipeButtonTarget:(id)target action:(SEL)action;
- (void)setSwipeButtonActionsViewRightBlock:(void (^)(void))block;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTPlaylistPanelProminentThumbnailVideoCellController : NSObject
- (void)didPressSwipeToRevealButton;
@end

View File

@@ -0,0 +1,17 @@
#import "YTLightweightQTMButton.h"
@interface YTQTMButton : YTLightweightQTMButton
+ (instancetype)button;
+ (instancetype)closeButton;
+ (instancetype)iconButton;
+ (instancetype)textButton;
@property (nonatomic, assign, readwrite) CGFloat buttonImageTitlePadding;
@property (nonatomic, assign, readwrite) CGFloat minHitTargetSize;
@property (nonatomic, assign, readwrite) CGFloat verticalContentPadding;
@property (nonatomic, assign, readwrite) NSInteger buttonLayoutStyle;
@property (nonatomic, assign, readwrite) BOOL refreshRendererAfterPageStyling;
@property (nonatomic, assign, readwrite) BOOL sizeWithPaddingAndInsets;
@property (nonatomic, copy, readwrite) NSString *accessibilityIdentifier;
@property (nonatomic, copy, readwrite) NSString *accessibilityLabel;
- (void)setTitleTypeKind:(NSInteger)titleTypeKind typeVariant:(NSInteger)typeVariant;
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTReelContentView : UIView
@property (nonatomic, assign, readwrite) BOOL alwaysShowShortsProgressBar;
@end

View File

@@ -0,0 +1,8 @@
#import "YTILikeButtonRenderer.h"
@interface YTReelLikeModel : NSObject
@property (nonatomic, copy, readwrite) NSString *videoID;
@property (nonatomic, strong, readwrite) YTILikeButtonRenderer *likeButtonRenderer;
@property (nonatomic, assign, readwrite) int status;
@property (nonatomic, assign, readwrite) int lastStatus;
@end

View File

@@ -0,0 +1,5 @@
#import "YTQTMButton.h"
@interface YTReelPlayerBottomButton : YTQTMButton
@property (nonatomic, assign, readwrite) BOOL applyRightSideLayoutImageSize;
@end

View File

@@ -0,0 +1,5 @@
#import "YTReelContentView.h"
@interface YTReelPlayerViewController : UIViewController
- (YTReelContentView *)contentView;
@end

View File

@@ -0,0 +1,9 @@
#import "YTQTMButton.h"
#import "YTILikeButtonRenderer.h"
@interface YTReelWatchLikesController : NSObject
@property (nonatomic, strong, readwrite) YTQTMButton *likeButton;
@property (nonatomic, strong, readwrite) YTQTMButton *dislikeButton;
- (id)likeModelForLikeButtonRenderer:(YTILikeButtonRenderer *)renderer;
- (void)updateLikeButtonWithModel:(id)model animated:(BOOL)animated;
@end

View File

@@ -0,0 +1,6 @@
#import "YTQTMButton.h"
@interface YTReelWatchPlaybackOverlayView : UIView
@property (nonatomic, assign, readonly) YTQTMButton *overflowButton;
- (NSArray <YTQTMButton *> *)orderedRightSideButtons;
@end

View File

@@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
@interface YTRightNavigationButtons : UIView
@property (nonatomic, readwrite, assign) CGFloat leadingPadding;
@property (nonatomic, readwrite, assign) CGFloat tailingPadding; // Legitimate typo
@end

View File

@@ -0,0 +1,5 @@
#import <UIKit/UIKit.h>
@interface YTSearchableSettingsViewController : UIViewController
- (void)storeCollectionViewSections:(NSArray *)sections;
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTSectionListViewController : UIViewController
@end

View File

@@ -0,0 +1,6 @@
#import "YTPlayerViewController.h"
@interface YTSegmentableInlinePlayerBarView : UIView
@property (nonatomic, readonly, assign) CGFloat totalTime;
@property (nonatomic, readwrite, strong) YTPlayerViewController *playerViewController;
@end

View File

@@ -0,0 +1,7 @@
#import "YTCollectionViewCell.h"
@interface YTSettingsCell : YTCollectionViewCell
@property (nonatomic, assign, readwrite) BOOL enabled;
- (void)setSwitchOn:(BOOL)on animated:(BOOL)animated;
- (void)toggleSwitch;
@end

View File

@@ -0,0 +1,5 @@
#import "YTStyledViewController.h"
@interface YTSettingsPickerViewController : YTStyledViewController
- (instancetype)initWithNavTitle:(NSString *)navTitle pickerSectionTitle:(NSString *)pickerSectionTitle rows:(NSArray *)rows selectedItemIndex:(NSUInteger)selectedItemIndex parentResponder:(id)parentResponder;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTSettingsSectionController : NSObject
@end

View File

@@ -0,0 +1,21 @@
#import "YTSettingsCell.h"
@interface YTSettingsSectionItem : NSObject
@property (nonatomic, copy, readwrite) NSString *title;
@property (nonatomic, assign, readwrite) BOOL hasSwitch;
@property (nonatomic, assign, readwrite) BOOL switchVisible;
@property (nonatomic, assign, readwrite) BOOL on;
@property (nonatomic, assign, readwrite) BOOL enabled;
@property (nonatomic, assign, readwrite) int settingItemId;
@property (nonatomic, copy, readwrite) BOOL (^selectBlock)(YTSettingsCell *, NSUInteger);
@property (nonatomic, copy, readwrite) BOOL (^switchBlock)(YTSettingsCell *, BOOL);
+ (instancetype)itemWithTitle:(NSString *)title accessibilityIdentifier:(NSString *)accessibilityIdentifier detailTextBlock:(NSString *(^)(void))detailTextBlock selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock;
+ (instancetype)itemWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription accessibilityIdentifier:(NSString *)accessibilityIdentifier detailTextBlock:(id)detailTextBlock selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock;
+ (instancetype)checkmarkItemWithTitle:(NSString *)title selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock;
+ (instancetype)checkmarkItemWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock;
+ (instancetype)checkmarkItemWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock disabledSelectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))disabledSelectBlock;
+ (instancetype)switchItemWithTitle:(NSString *)title switchOn:(BOOL)switchOn switchBlock:(BOOL (^)(YTSettingsCell *, BOOL))switchBlock;
+ (instancetype)switchItemWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription accessibilityIdentifier:(NSString *)accessibilityIdentifier switchOn:(BOOL)switchOn switchBlock:(BOOL (^)(YTSettingsCell *, BOOL))switchBlock settingItemId:(int)settingItemId;
+ (instancetype)switchItemWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription accessibilityIdentifier:(NSString *)accessibilityIdentifier switchOn:(BOOL)switchOn switchBlock:(BOOL (^)(YTSettingsCell *, BOOL))switchBlock selectBlock:(BOOL (^)(YTSettingsCell *, NSUInteger))selectBlock settingItemId:(int)settingItemId;
- (instancetype)initWithTitle:(NSString *)title titleDescription:(NSString *)titleDescription;
@end

View File

@@ -0,0 +1,6 @@
#import "GIMMe.h"
@interface YTSettingsSectionItemManager : NSObject
@property (nonatomic, readwrite, weak) GIMMe *gimme;
- (id)parentResponder;
@end

View File

@@ -0,0 +1,9 @@
#import "YTSettingsSectionItem.h"
#import "YTSettingsSectionController.h"
@interface YTSettingsViewController : UIViewController
- (NSMutableDictionary <NSNumber *, YTSettingsSectionController *> *)settingsSectionControllers;
- (void)setSectionItems:(NSMutableArray <YTSettingsSectionItem *> *)sectionItems forCategory:(NSInteger)category title:(NSString *)title titleDescription:(NSString *)titleDescription headerHidden:(BOOL)headerHidden;
- (void)pushViewController:(UIViewController *)viewController;
- (void)reloadData;
@end

View File

@@ -0,0 +1,8 @@
#import "YTPlaybackData.h"
#import "MLVideo.h"
@interface YTSingleVideo : NSObject
- (MLVideo *)video; // Deprecated
- (NSString *)videoId;
- (YTPlaybackData *)playbackData;
@end

View File

@@ -0,0 +1,13 @@
#import "MLFormat.h"
#import "YTSingleVideoControllerDelegate.h"
#import "YTSingleVideo.h"
@interface YTSingleVideoController : NSObject
@property (nonatomic, weak, readwrite) NSObject <YTSingleVideoControllerDelegate> *delegate;
- (YTSingleVideo *)singleVideo;
- (YTSingleVideo *)videoData;
- (NSArray <MLFormat *> *)selectableVideoFormats;
- (BOOL)isMuted;
- (void)playerRateDidChange:(float)rate;
- (void)setMuted:(BOOL)muted;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@protocol YTSingleVideoControllerDelegate <NSObject>
- (void)singleVideoController:(id)controller requiresReloadWithContext:(id)context;
- (void)singleVideoController:(id)controller externalPlaybackActiveStateDidChange:(id)arg2;
@end

View File

@@ -0,0 +1,10 @@
#import <CoreGraphics/CoreGraphics.h>
@interface YTSingleVideoTime : NSObject
@property (nonatomic, readonly, assign) CGFloat absoluteTime;
@property (nonatomic, readonly, assign) CGFloat time;
@property (nonatomic, readonly, assign) CGFloat productionTime;
+ (instancetype)zero;
+ (instancetype)timeWithTime:(CGFloat)time;
+ (instancetype)timeWithTime:(CGFloat)time productionTime:(CGFloat)productionTime;
@end

View File

@@ -0,0 +1,7 @@
#import <UIKit/UIKit.h>
@interface YTSlideForActionsView : UIView
@property (nonatomic, assign, readwrite) BOOL actionsEnabledRight;
@property (nonatomic, assign, readwrite) BOOL enableMinSnap;
@property (nonatomic, assign, readwrite) BOOL enableHapticFeedback;
@end

View File

@@ -0,0 +1,10 @@
#import "YTIFormattedStringLabel.h"
#import "YTSlimVideoScrollableDetailsActionsView.h"
@interface YTSlimVideoDetailsActionView : UIView
@property (nonatomic, strong, readwrite) YTIFormattedStringLabel *label;
@property (nonatomic, weak, readwrite) YTSlimVideoScrollableDetailsActionsView *visibilityDelegate;
@property (nonatomic) __weak id delegate;
@property (nonatomic, assign, readwrite, getter=isToggled) BOOL toggled;
- (instancetype)initWithSlimMetadataButtonSupportedRenderer:(id)renderer;
@end

View File

@@ -0,0 +1,7 @@
#include "YTQTMButton.h"
#import "YTQTMButton.h"
@protocol YTSlimVideoDetailsActionViewDelegate <NSObject>
- (void)didTapButton:(YTQTMButton *)button fromRect:(CGRect)rect inView:(UIView *)view;
- (void)handleLongPressOnButton:(YTQTMButton *)button fromRect:(CGRect)rect inView:(UIView *)view;
@end

View File

@@ -0,0 +1,5 @@
#import "YTSlimVideoDetailsActionViewDelegate.h"
@interface YTSlimVideoDetailsActionsView : UIScrollView
@property (nonatomic, weak, readwrite) NSObject <YTSlimVideoDetailsActionViewDelegate> *videoActionsDelegate;
@end

View File

@@ -0,0 +1,4 @@
#import "YTSlimVideoScrollableActionBarCellControllerDelegate.h"
@interface YTSlimVideoMetadataExpandingBehavior : NSObject <YTSlimVideoScrollableActionBarCellControllerDelegate>
@end

View File

@@ -0,0 +1,5 @@
#import "YTCollectionViewCellProtocol.h"
#import "YTSlimVideoScrollableDetailsActionsProtocol.h"
@interface YTSlimVideoScrollableActionBarCell : UICollectionViewCell <YTSlimVideoScrollableDetailsActionsProtocol, YTCollectionViewCellProtocol>
@end

View File

@@ -0,0 +1,6 @@
#import "YTSlimVideoScrollableActionBarCellControllerDelegate.h"
#import "YTInnerTubeCellController.h"
@interface YTSlimVideoScrollableActionBarCellController : YTInnerTubeCellController
@property (nonatomic, weak, readwrite) NSObject <YTSlimVideoScrollableActionBarCellControllerDelegate> *delegate;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@protocol YTSlimVideoScrollableActionBarCellControllerDelegate <NSObject>
@required
- (NSString *)videoId;
@end

View File

@@ -0,0 +1,5 @@
#import "YTSlimVideoDetailsActionView.h"
@protocol YTSlimVideoScrollableDetailsActionsProtocol
- (YTSlimVideoDetailsActionView *)offlineActionView;
@end

View File

@@ -0,0 +1,5 @@
#import "YTSlimVideoDetailsActionViewDelegate.h"
@interface YTSlimVideoScrollableDetailsActionsView : UIScrollView
@property (nonatomic, weak, readwrite) NSObject <YTSlimVideoDetailsActionViewDelegate> *videoActionsDelegate;
@end

View File

@@ -0,0 +1,4 @@
#import "YTMultiSizeViewController.h"
@interface YTStyledViewController : YTMultiSizeViewController
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTSystemNotifications : NSObject
- (void)addSystemNotificationsObserver:(id)observer;
@end

View File

@@ -0,0 +1,6 @@
#import <Foundation/Foundation.h>
@interface YTToastResponderEvent : NSObject
+ (instancetype)eventWithMessage:(NSString *)message firstResponder:(id)firstResponder;
- (void)send;
@end

View File

@@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
@interface YTUIResources : NSObject
+ (UIImage *)iconCheckTemplateImage;
+ (UIImage *)actionsheetDefaultImage;
@end

View File

@@ -0,0 +1,7 @@
#import <UIKit/UIKit.h>
@interface YTUIUtils : NSObject
+ (BOOL)canOpenURL:(NSURL *)url;
+ (BOOL)openURL:(NSURL *)url;
+ (UIViewController *)topViewControllerForPresenting;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTVersionUtils : NSObject
+ (NSString *)appVersion;
@end

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface YTVideoQualitySwitchOriginalController : NSObject
- (instancetype)initWithParentResponder:(id)responder;
@end

View File

@@ -0,0 +1,7 @@
#import "YTWatchPlaybackController.h"
@interface YTWatchController : NSObject
@property (nonatomic, strong, readwrite) YTWatchPlaybackController *watchPlaybackController;
- (void)showFullScreen;
- (void)showSmallScreen;
@end

View File

@@ -0,0 +1,5 @@
#import "YTPlayerViewController.h"
@interface YTWatchLayerViewController : UIViewController
- (YTPlayerViewController *)playerViewController;
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@protocol YTWatchMetadataPanelStateResponderProvider <NSObject>
@end

View File

@@ -0,0 +1,6 @@
#import <UIKit/UIKit.h>
@interface YTWatchMiniBarViewController : UIViewController
@property (nonatomic, assign, readwrite, getter=isActivated) BOOL activated;
@property (nonatomic, assign, readwrite, getter=isVisible) BOOL visible;
@end

View File

@@ -0,0 +1,4 @@
#import <UIKit/UIKit.h>
@interface YTWatchNextResultsViewController : UIViewController
@end

View File

@@ -0,0 +1,4 @@
#import <Foundation/Foundation.h>
@interface YTWatchPlaybackController : NSObject
@end

View File

@@ -0,0 +1,5 @@
#import "YTPlayerViewController.h"
@interface YTWatchViewController : UIViewController
@property (nonatomic, weak, readwrite) YTPlayerViewController *playerViewController;
@end

View File

@@ -0,0 +1,8 @@
#import <UIKit/UIKit.h>
#import "ASCollectionElement.h"
#import "ASCellNode.h"
@interface _ASCollectionViewCell : UICollectionViewCell
@property (nonatomic, strong, readwrite) ASCollectionElement *element;
- (ASCellNode *)node;
@end

View File

@@ -0,0 +1,6 @@
#import "ASDisplayNode.h"
@interface _ASDisplayView : UIView
@property (nonatomic, copy, readwrite) NSString *accessibilityLabel;
@property (nonatomic) ASDisplayNode *keepalive_node;
@end