import { Observable } from 'data/observable';
import { TNSSpotifyAuth } from './auth';
export declare class TNSSpotifyPlayer extends NSObject {
    static ObjCProtocols: any[];
    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 _loggingInPromise;
    initPlayer(emitEvents?: boolean): void;
    isLoggedIn(): boolean;
    togglePlay(track?: string, force?: boolean): Promise<any>;
    isPlaying(): boolean;
    loadedTrack(): string;
    setVolume(val: number): Promise<any>;
    audioStreamingDidChangePlaybackStatus(controller: any, playing: boolean): void;
    audioStreamingDidChangePlaybackState(controller: any, state: any): void;
    audioStreamingDidSeekToOffset(controller: any, offset: any): void;
    audioStreamingDidChangeVolume(controller: any, volume: any): void;
    audioStreamingDidChangeShuffleStatus(controller: any, isShuffled: boolean): void;
    audioStreamingDidChangeRepeatStatus(controller: any, isRepeated: boolean): void;
    audioStreamingDidChangeToTrack(controller: any, trackMetadata: NSDictionary): void;
    audioStreamingDidFailToPlayTrack(controller: any, trackUri: NSURL): void;
    audioStreamingDidStartPlayingTrack(controller: any, trackUri: NSURL): void;
    audioStreamingDidStopPlayingTrack(controller: any, trackUri: NSURL): void;
    audioStreamingDidSkipToNextTrack(controller: any): void;
    audioStreamingDidSkipToPreviousTrack(controller: any): void;
    audioStreamingDidBecomeActivePlaybackDevice(controller: any): void;
    audioStreamingDidBecomeInactivePlaybackDevice(controller: any): void;
    audioStreamingDidPopQueue(controller: any): void;
    audioStreamingDidEncounterTemporaryConnectionError(controller: any): void;
    audioStreamingDidEncounterError(controller: any, error: any): void;
    audioStreamingDidReceiveMessage(controller: any, message: any): void;
    audioStreamingDidDisconnect(controller: any): void;
    audioStreamingDidLogin(): void;
    audioStreamingDidLogout(controller: any): void;
    private play(track);
    private playUri(track, resolve, reject);
    private checkPlayer();
    private updateCoverArt(albumUri);
    private isLoginError(desc);
    private loginError();
    private setLoggedIn(value);
    private playerReady();
    private setupEvents();
}
