import { GetAttributeType } from '../../types/GetAttributeType';
import { VideoPlayerType } from '../../types/VideoPlayerTypes';
import { VideoSubtitles } from '../../types/VideoSubtitles';
export declare class TeliaVideoPlayer {
  /** Test id set for web component host */
  dataTestid?: string;
  /** Specifies which type of player should be used */
  type: VideoPlayerType;
  /** Specifies the url path for Vimeo video or self-hosted video */
  src: GetAttributeType<'source', 'src'>;
  /** Specifies the 'type' attribute of the 'source' element. */
  srcType?: GetAttributeType<'source', 'type'>;
  /** Show or hide controls. **Vimeo account setting can override this property** */
  controls?: boolean;
  /** Specifies if the the video automatically begins to play */
  autoplay?: boolean;
  /** Specifies if the audio should be silenced */
  muted?: boolean;
  /** Specifies if the video should replay after reaching the end of video  */
  loop?: boolean;
  /** Specifies image to be shown while the video is loading. <br/>** Not supported for Vimeo**  */
  poster?: string;
  /** Specifies subtitles source.<br/>** Not supported for Vimeo**  */
  subtitles?: Array<VideoSubtitles> | string;
  /** Specifies lazyloading behavior [none | metadata | auto]. Default auto */
  preload?: string;
  /** Specifies title for vimeo iframe embed  */
  iframeTitle?: string;
  /**
   * Play html video.
   */
  play(): Promise<void>;
  /**
   * Pause html video.
   */
  pause(): Promise<void>;
  /** Tracking id is used to identify and count Component usage */
  private dataTrackingId;
  private videoElement?;
  private setVideoRef;
  /**
   * Validate and return optional subtitles
   * @private
   * @returns `Array<VideoSubtitles>`
   */
  private getHTML5VideoSubtitles;
  /**
   * Validate, compose and return vimeo source with query parameters as settings
   * @private
   * @returns `string`
   */
  private getActiveVimeoSourceSettings;
  private applyVimeoParamSettings;
  render(): any;
}
