import { Component } from "../../component/component.js";
import { TemplateFunction, VideoComponentScope } from "../../types/index.js";
export declare class VideoComponent extends Component {
    static tagName: string;
    protected autobind: boolean;
    protected alreadyStartedPlaying: boolean;
    protected wasPaused: boolean;
    _debug: boolean;
    static get observedAttributes(): string[];
    get muted(): boolean;
    set muted(muted: boolean);
    get volume(): number;
    set volume(volume: number);
    get loop(): boolean;
    set loop(loop: boolean);
    get controls(): boolean;
    set controls(controls: boolean);
    get currentTime(): number;
    set currentTime(currentTime: number);
    get autoplay(): boolean;
    set autoplay(autoplay: boolean);
    get height(): number;
    set height(height: number);
    get width(): number;
    set width(width: number);
    get poster(): string;
    set poster(poster: string);
    get preload(): "" | "none" | "metadata" | "auto";
    set preload(preload: "" | "none" | "metadata" | "auto");
    get disablePictureInPicture(): boolean;
    set disablePictureInPicture(disablePictureInPicture: boolean);
    get paused(): boolean;
    protected video: HTMLVideoElement;
    scope: VideoComponentScope;
    constructor();
    toggleMute(): void;
    toggleControls(): void;
    play(): void;
    pause(): void;
    togglePlay(): void;
    togglePause(): void;
    reset(): void;
    protected connectedCallback(): void;
    protected initVideoElement(): void;
    protected resetVideo(): void;
    protected setVideoSource(): void;
    protected parsedAttributeChangedCallback(attributeName: string, oldValue: any, newValue: any, namespace: string | null): void;
    protected addEventListeners(): void;
    protected removeEventListeners(): void;
    protected _onUpdate(): void;
    protected onUpdate: () => void;
    protected beforeBind(): Promise<void>;
    startAutoplay(): void;
    forceLoad(): void;
    protected _forceAutoplay(): void;
    forceAutoplay: () => void;
    protected _onMediaQueryListEvent(event: MediaQueryListEvent): void;
    protected onMediaQueryListEvent: (event: MediaQueryListEvent) => void;
    protected _onVideoProgress(): void;
    protected onVideoProgress: () => void;
    protected _onLoadStart(): void;
    protected onLoadStart: () => void;
    protected _onCanPlay(): void;
    protected onCanPlay: () => void;
    protected _onCanPlayThrough(): void;
    protected onCanPlayThrough: () => void;
    protected _onWaiting(): void;
    protected onWaiting: () => void;
    protected _onDurationChange(): void;
    protected onDurationChange: () => void;
    protected _onTimeUpdate(): void;
    protected onTimeUpdate: () => void;
    protected _onPlay(): void;
    protected onPlay: () => void;
    protected _onPause(): void;
    protected onPause: () => void;
    protected init(observedAttributes: string[]): Promise<void>;
    protected disconnectedCallback(): void;
    protected template(): ReturnType<TemplateFunction>;
}
