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

interface AudioTrack {
    id: number | string;
    name: string;
    select: () => void;
    language?: string;
    codec?: string;
    bitrate?: number;
    url?: string;
    details?: Record<string, unknown>;
}

declare class AudioSelectComponent implements OnInit {
    icon: _angular_core.InputSignal<string>;
    size: _angular_core.InputSignal<string>;
    audios: _angular_core.InputSignal<AudioTrack[]>;
    current: _angular_core.InputSignal<string | number | undefined>;
    trackSelected: _angular_core.OutputEmitterRef<AudioTrack>;
    events: TellyEventsService;
    player: PlayerComponent;
    show: boolean;
    get display(): "flex" | "none";
    onClick(): void;
    ngOnInit(): void;
    onAudioSelect(track: AudioTrack): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AudioSelectComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AudioSelectComponent, "telly-audio-select", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "audios": { "alias": "audios"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; }, { "trackSelected": "trackSelected"; }, never, never, true, never>;
}

export { AudioSelectComponent };
export type { AudioTrack };
