import * as React from 'react';
import { Media } from '../Definitions';
/**
* @param id HTML id attribute value for the element.
* @param className HTML class attribute value for the element.
* @param media Media object wrapper, see `Media` interface below.
* @param qualityProfile Request a higher or lower quality video stream from the peer to match UI needs
*/
export interface VideoProps {
id?: string;
className?: string;
media: Media;
qualityProfile?: 'high' | 'medium' | 'low' | 'off';
requestQualityProfile?: (profile: 'high' | 'medium' | 'low' | 'off') => void;
}
/**
* @description
* Local and remote video tracks can be played with the `` component.
*
* The provided `media` property can include `remoteDisabled` and `localDisabled` fields. If either of those properties are `true`, video playback will be paused.
*
* The `qualityProfile` property can be used to request increasing or decreasing the video size/quality from the sending peer, if the media is from a remote source.
*
* Only one `Video` component with a `qualityProfile` should be rendered at a time for a given video track.
*
* @public
*
* @example
*
*/
declare class Video extends React.Component {
private video;
shouldComponentUpdate(newProps: VideoProps): boolean;
componentDidMount(): void;
componentDidUpdate(prev: VideoProps): void;
componentWillUnmount(): void;
setup(prev?: VideoProps): void;
render(): JSX.Element | null;
}
declare const _default: import("react-redux").ConnectedComponent | undefined;
id?: string | undefined;
className?: string | undefined;
media: Media;
qualityProfile?: "high" | "low" | "medium" | "off" | undefined;
requestQualityProfile?: ((profile: "high" | "low" | "medium" | "off") => void) | undefined;
context?: React.Context> | undefined;
store?: import("redux").Store | undefined;
}>;
export default _default;