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