import { Track } from '../src/audio-player.component';
import * as i0 from "@angular/core";
export declare class AudioPlayerService {
    private audio;
    private http;
    private objectUrls;
    private _tracks;
    private _currentTrackIndex;
    private _isPlaying;
    private _duration;
    private _currentTime;
    private _volume;
    private _isMuted;
    private _lastVolume;
    private _isBuffering;
    private _isInitializing;
    private _autoPlayNext;
    private _error;
    tracks: import("@angular/core").Signal<Track[]>;
    currentTrackIndex: import("@angular/core").Signal<number>;
    isPlaying: import("@angular/core").Signal<boolean>;
    duration: import("@angular/core").Signal<number>;
    currentTime: import("@angular/core").Signal<number>;
    volume: import("@angular/core").Signal<number>;
    isMuted: import("@angular/core").Signal<boolean>;
    isBuffering: import("@angular/core").Signal<boolean>;
    isInitializing: import("@angular/core").Signal<boolean>;
    currentTrack: import("@angular/core").Signal<Track>;
    autoPlayNext: import("@angular/core").Signal<boolean>;
    error: import("@angular/core").Signal<ErrorEvent | null>;
    constructor();
    private setupAudioListeners;
    private getAuthenticatedAudioUrl;
    playTrack(index: number): Promise<void>;
    init(): void;
    cleanup(): void;
    togglePlay(): Promise<void>;
    previous(): Promise<void>;
    next(): Promise<void>;
    setTracks(tracks: Track[]): void;
    setCurrentTrackIndex(index: number): void;
    private setPlaying;
    setAutoPlayNext(autoPlayNext: boolean): void;
    setVolume(volume: number): void;
    setMuted(muted: boolean): void;
    seekTo(time: number): void;
    isPlayingATrack(): boolean;
    private updateDuration;
    private updateTime;
    private handleEnded;
    private clearCurrentTime;
    private restoreVolumeSettings;
    private checkIfTrackIsLoaded;
    static ɵfac: i0.ɵɵFactoryDeclaration<AudioPlayerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AudioPlayerService>;
}
