import ProgressBar from './progressBar'; interface Opts { autorender?: boolean; autoplay?: boolean | string; id?: string; loop?: boolean | string; layout?: string; mute?: boolean | string; noAudio?: boolean | string; noDescription?: boolean | string; noInfoBox?: boolean | string; noCaption?: boolean | string; fadeOutDelay?: number; progressBarTimeTriggerTap?: number; progressBarTapDelay?: number; progressTimeStepSeconds?: number; intersectionObserverThreshold?: number; closedCaption?: boolean; caption?: string; systemTitle?: string; autoShowClosedCaptions?: boolean; rootContentId?: string; assetType?: string; } declare class ClipInterface { protected el: HTMLElement; protected opts: Opts; constructor(el: HTMLElement, opts: Opts); init(): void; unload(): void; destroy(): void; } declare class Clip extends ClipInterface { containerEl: HTMLElement; videoEl: HTMLVideoElement; loops: number; canAutoplay: boolean; useCustomPlayer: boolean; started: boolean; opts: Opts; private isInViewPort; private fireUnloadEvent; private onResizeEvent; private onClickOutsideEvent; private onOfflineEvent; private onOnlineEvent; private onKeyFocusEvent; private observer; private lastQuarter; autoplayPaused: boolean; private expander; private offlineMessageEl; private progressRing; private lastTimeUpdate; private muteIcon; private controls; private playPauseButton; private bottomBar; private playText; private loadingText; private progressBar; private isMobileDevice; private loadingDebounce; private mediaTracker; constructor(el: HTMLElement, opts: Opts); get muted(): boolean; set muted(value: boolean); unload(): void; init(): Promise; checkLoop(progress?: null | number): void; checkIfElementInDOM(): boolean; fireEvent(action: string, extraDetail?: {}): void; getProgress(): number; destroy(): void; isVideoPlaying(): boolean; createCustomPlayer(): void; createOfflineMessage(): void; showOffLineMessage(): void; hideLoadingIndicator(): void; showLoadingIndicator(): void; hideOffLineMessage(): void; createNoAudioIcon(): HTMLSpanElement; createClosedCaptionIcon(): HTMLButtonElement; showCaptionsByDefault(): void; toggleCaptions: () => void; visibilityListener([observed]: IntersectionObserverEntry[]): void; handleTimeUpdate(ev: Event): void; fadeIn(): void; fadeOut(immediate?: boolean): number | undefined; getClipPathStringFromProgress(percentage: number): string; videoHasNoAudio(): string | boolean | undefined; descriptionToggle(): void; showDescription(): void; onClickOutside(event: MouseEvent): void; onKeyFocus: (event: KeyboardEvent) => void; resizeControls(): void; isFocused(): boolean; togglePlay(): void; togglePlayPauseButton(): void; createProgressBar(): ProgressBar; performSourceErrorCheck: () => void; static init(rootElParam?: HTMLElement | string | null, config?: Opts): ClipInterface[]; } export default Clip;