import { LitElement, nothing } from "lit";
interface SubtitleCue {
    id?: string;
    text: string;
    startTime: number;
    endTime: number;
    lang?: string;
}
interface MetaTrackEvent {
    type: string;
    data: unknown;
}
interface SubtitleStyle {
    fontSize?: string;
    fontFamily?: string;
    color?: string;
    backgroundColor?: string;
    textShadow?: string;
    bottom?: string;
    maxWidth?: string;
    padding?: string;
    borderRadius?: string;
}
export declare class FwSubtitleRenderer extends LitElement {
    currentTime: number;
    enabled: boolean;
    cues: SubtitleCue[];
    subscribeToMetaTrack?: (trackId: string, callback: (event: MetaTrackEvent) => void) => () => void;
    metaTrackId?: string;
    subtitleStyle?: SubtitleStyle;
    className: string;
    private _liveCues;
    private _displayedText;
    private _unsubscribe;
    static styles: import("lit").CSSResult;
    disconnectedCallback(): void;
    protected updated(changed: Map<string, unknown>): void;
    private _syncSubscription;
    private _teardownSubscription;
    private _handleMetaEvent;
    private _parseSubtitleCue;
    private _getAllCues;
    private _syncDisplayedCue;
    private _pruneExpiredLiveCues;
    protected render(): import("lit").TemplateResult<1> | typeof nothing;
}
declare global {
    interface HTMLElementTagNameMap {
        "fw-subtitle-renderer": FwSubtitleRenderer;
    }
}
export {};
