import type { Node } from '../main';
import type { VideoTexture } from '../resources';
import type { TextureRect2DProperties } from './TextureRect2D';
import { TextureRect2D } from './TextureRect2D';
export interface Video2DProperties extends TextureRect2DProperties {
    src: string;
}
export declare class Video2D extends TextureRect2D<VideoTexture> {
    src: string;
    get videoDuration(): number;
    protected _wait: Promise<void>;
    constructor(properties?: Partial<Video2DProperties>, children?: Node[]);
    protected _updateProperty(key: string, value: any, oldValue: any): void;
    waitLoad(): Promise<void>;
    protected _load(src: string): Promise<void>;
    protected _updateVideoCurrentTime(): void;
    protected _process(delta: number): void;
}
