import { ISubject, IValueObservable, IError } from '@vkontakte/videoplayer-shared';
import { VideoDestination, VideoFormat } from '../../player/types';
import { IProvider, IProviderOutput } from '../types';
export interface IProviderContainer {
    current$: IValueObservable<IProviderEntry>;
    providerError$: ISubject<IError>;
    noAvailableProvidersError$: ISubject<VideoFormat | undefined>;
    volumeMultiplierError$: ISubject<IError>;
    providerOutput: IProviderOutput;
    init(): void;
    destroy(): void;
}
export type IProviderEntry = {
    type: VideoFormat;
    provider: IProvider;
    destination: VideoDestination;
} | {
    type: undefined;
    provider?: undefined;
    destination?: undefined;
};
