unified-video-framework
Version:
Cross-platform video player framework supporting iOS, Android, Web, Smart TVs (Samsung/LG), Roku, and more
46 lines • 1.82 kB
TypeScript
import { VideoSegment, ChapterConfig } from './types/ChapterTypes';
interface CreditsButtonCallbacks {
onWatchCredits: (segment: VideoSegment) => void;
onNextEpisode: (segment: VideoSegment, url: string) => void;
onAutoRedirect: (segment: VideoSegment, url: string) => void;
onButtonsShown: (segment: VideoSegment) => void;
onButtonsHidden: (segment: VideoSegment, reason: string) => void;
}
export declare class CreditsButtonController {
private playerContainer;
private config;
private callbacks;
private buttonsContainer;
private watchCreditsButton;
private nextEpisodeButton;
private currentSegment;
private autoRedirectTimeout;
private countdownInterval;
private isVisible;
private userWatchingCredits;
private readonly DEFAULT_WATCH_CREDITS_LABEL;
private readonly DEFAULT_NEXT_EPISODE_LABEL;
private readonly DEFAULT_AUTO_REDIRECT_DELAY;
constructor(playerContainer: HTMLElement, config: ChapterConfig, callbacks: CreditsButtonCallbacks);
showCreditsButtons(segment: VideoSegment, currentTime: number): void;
hideCreditsButtons(reason?: 'timeout' | 'segment-end' | 'user-action' | 'manual'): void;
isUserWatchingCredits(): boolean;
getCurrentSegment(): VideoSegment | null;
isButtonsVisible(): boolean;
destroy(): void;
private createCreditsButtons;
private applyContainerPosition;
private applyButtonStyles;
private adjustBrightness;
private updateButtonLabels;
private showButtons;
private hideButtons;
private handleWatchCreditsClick;
private handleNextEpisodeClick;
private startAutoRedirectCountdown;
private createProgressBar;
private redirectToNextEpisode;
private clearTimeouts;
}
export {};
//# sourceMappingURL=CreditsButtonController.d.ts.map