import { Observable } from 'data/observable';
import { TNSSpotifyAuth } from './auth';
export declare class TNSSpotifyPlayer {
    player: any;
    auth: TNSSpotifyAuth;
    events: Observable;
    private _albumArtChange;
    private _playerReady;
    private _changedPlaybackStatus;
    private _changedPlaybackState;
    private _seekedToOffset;
    private _changedVolume;
    private _changedShuffleStatus;
    private _changedRepeatStatus;
    private _changedToTrack;
    private _failedToPlayTrack;
    private _startedPlayingTrack;
    private _stoppedPlayingTrack;
    private _skippedToNextTrack;
    private _skippedToPreviousTrack;
    private _activePlaybackDevice;
    private _inactivePlaybackDevice;
    private _poppedQueue;
    private _temporaryConnectionError;
    private _streamError;
    private _receivedMessage;
    private _streamDisconnected;
    private _currentAlbumImageUrl;
    private _currentAlbumUri;
    private _loadedTrack;
    private _started;
    private _loggedIn;
    private _playerLoggedIn;
    private _playing;
    private _playerHandler;
    private _trackTimeout;
    private _audioController;
    initPlayer(emitEvents?: boolean): void;
    isLoggedIn(): any;
    togglePlay(track?: string, force?: boolean): Promise<any>;
    isPlaying(): boolean;
    getPlayerState(): Promise<{}>;
    setShuffle(enabled: boolean): void;
    setRepeat(enabled: boolean): void;
    seekToPosition(position: number): void;
    loadedTrack(): string;
    setVolume(val: number): Promise<any>;
    private play(track);
    private playUri(track, resolve, reject);
    private checkPlayer();
    private isLoginError(desc);
    private loginError();
    private setLoggedIn(value);
    private playerReady();
    private setupEvents();
}
