import { PlayerAPI, PlayerEvent, PlayerEventBase, PlayerEventCallback } from 'bitmovin-player';
import { WrappedPlayer } from '../UIManager';
export declare enum MobileV3PlayerEvent {
    SourceError = "sourceerror",
    PlayerError = "playererror",
    PlaylistTransition = "playlisttransition"
}
export interface MobileV3PlayerErrorEvent extends PlayerEventBase {
    code: number;
    message: string;
}
export interface MobileV3SourceErrorEvent extends PlayerEventBase {
    code: number;
    message: string;
}
export type MobileV3PlayerEventType = PlayerEvent | MobileV3PlayerEvent;
export interface MobileV3PlayerAPI extends PlayerAPI {
    on<T extends PlayerEvent>(eventType: T, callback: PlayerEventCallback<T>): void;
    on<T extends MobileV3PlayerEvent>(eventType: T, callback: (event: PlayerEventBase) => void): void;
    exports: PlayerAPI['exports'] & {
        PlayerEvent: MobileV3PlayerEventType;
    };
}
export declare function isMobileV3PlayerAPI(player: WrappedPlayer | PlayerAPI | MobileV3PlayerAPI): player is MobileV3PlayerAPI;
