import { type PlayerTrackConfig } from './tracks';
export interface PlayerSubtitleRefs {
    subtitleContainer: HTMLElement;
    player: HTMLDivElement;
}
export interface PlayerSubtitleDeps {
    refs: PlayerSubtitleRefs;
    getPlayerId: () => string | null;
    getVideo: () => HTMLVideoElement | undefined;
    getTracks: () => PlayerTrackConfig[];
    change: (name: string, value: unknown) => void;
}
export interface PlayerSubtitleHandlers {
    applyTracks: () => void;
    setSubtitleLanguage: (lang: string) => void;
    changeSubtitleTrack: (e: Event) => void;
    createSubtitleSelect: () => void;
}
/** Engine-independent — untouched by Phase 2's HLS/DASH/FLV adapter refactor, unlike `core/clarity.ts`. */
export declare function createSubtitleHandlers(deps: PlayerSubtitleDeps): PlayerSubtitleHandlers;
