import { IObservable, ISubject, IValueSubject } from '@vkontakte/videoplayer-shared';
import { IDesiredState, IProviderOutput, IProviderParams } from '../../../providers/types';
import { IObservableVideo } from '../../../providers/utils/HTMLVideoElement/observable';
import { IDashURLSource } from '../../../player/types';
export declare enum LiveStatus {
    ActiveLowLatency = "active_low_latency",
    LiveWithTargetOffset = "live_with_target_offset",
    LiveForwardBuffering = "live_forward_buffering",
    None = "none"
}
export declare enum LiveStreamStatus {
    Active = "active",
    UnexpectedlyDown = "unexpectedly_down",// Стрим в сети, но трансляция оборвалась из-за тех. проблем
    Unpublished = "unpublished"
}
export interface IProviderSubscriptionInfo {
    output: IProviderOutput;
    desiredState: IDesiredState;
    observableVideo: IObservableVideo;
    genericErrorListener: (error: Error | unknown) => void;
    connect: <Value>(from: IObservable<Value>, to: ISubject<Value> | IValueSubject<Value> | ((v: Value) => void)) => void;
}
export declare enum ProviderState {
    STOPPED = "stopped",
    READY = "ready",
    PLAYING = "playing",
    PAUSED = "paused"
}
export type IParams = IProviderParams<IDashURLSource>;
