import * as _angular_core from '@angular/core';
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { PlayerComponent } from '@ngx-telly/player';
import { TellyEventsService } from '@ngx-telly/player/services';

interface Caption {
    id: number | string;
    name: string;
    callback: () => void;
    language?: string;
    details?: Record<string, unknown>;
}

declare class CaptionSelectComponent implements OnInit, OnChanges {
    icon: _angular_core.InputSignal<string>;
    size: _angular_core.InputSignal<string>;
    captions: _angular_core.InputSignal<Caption[]>;
    current: _angular_core.InputSignal<string | number | undefined>;
    events: TellyEventsService;
    player: PlayerComponent;
    show: boolean;
    get display(): "flex" | "none";
    onClick(): void;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    onCaptionSelect(track: Caption): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaptionSelectComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<CaptionSelectComponent, "telly-caption-select", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "captions": { "alias": "captions"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { CaptionSelectComponent };
export type { Caption };
