import { type DecoratorNodeData, type DecoratorNodeValueMap } from '../../generate-decorator-node.js';
declare const videoProperties: readonly [{
    readonly name: "src";
    readonly default: "";
    readonly urlType: "url";
}, {
    readonly name: "caption";
    readonly default: "";
    readonly urlType: "html";
    readonly wordCount: true;
}, {
    readonly name: "fileName";
    readonly default: "";
}, {
    readonly name: "mimeType";
    readonly default: "";
}, {
    readonly name: "width";
    readonly default: number | null;
}, {
    readonly name: "height";
    readonly default: number | null;
}, {
    readonly name: "duration";
    readonly default: 0;
}, {
    readonly name: "thumbnailSrc";
    readonly default: "";
    readonly urlType: "url";
}, {
    readonly name: "customThumbnailSrc";
    readonly default: "";
    readonly urlType: "url";
}, {
    readonly name: "thumbnailWidth";
    readonly default: number | null;
}, {
    readonly name: "thumbnailHeight";
    readonly default: number | null;
}, {
    readonly name: "cardWidth";
    readonly default: "regular";
}, {
    readonly name: "loop";
    readonly default: false;
}];
export type VideoData = DecoratorNodeData<typeof videoProperties>;
export interface VideoNode extends DecoratorNodeValueMap<typeof videoProperties> {
}
declare const VideoNode_base: import("../../generate-decorator-node.js").GeneratedDecoratorNodeClass<{
    src: string;
    caption: string;
    fileName: string;
    mimeType: string;
    width: number | null;
    height: number | null;
    duration: number;
    thumbnailSrc: string;
    customThumbnailSrc: string;
    thumbnailWidth: number | null;
    thumbnailHeight: number | null;
    cardWidth: string;
    loop: boolean;
}, import("../../utils/render-empty-container.js").EmptyContainerOutput | {
    element: HTMLElement;
    type: "outer";
}>;
export declare class VideoNode extends VideoNode_base {
    exportJSON(): {
        type: string;
        version: number;
        src: string;
        caption: string;
        fileName: string;
        mimeType: string;
        width: number | null;
        height: number | null;
        duration: number;
        thumbnailSrc: string;
        customThumbnailSrc: string;
        thumbnailWidth: number | null;
        thumbnailHeight: number | null;
        cardWidth: string;
        loop: boolean;
    };
    static importDOM(): {
        figure: (nodeElem: HTMLElement) => {
            conversion(domNode: HTMLElement): {
                node: import("lexical/LexicalNode.js").LexicalNode;
            } | null;
            priority: 1;
        } | null;
    };
    get formattedDuration(): string;
}
export declare const $createVideoNode: (dataset?: VideoData) => VideoNode;
export declare function $isVideoNode(node: unknown): node is VideoNode;
export {};
//# sourceMappingURL=VideoNode.d.ts.map