import { Node } from '@tiptap/core';
export interface VideoEmbedOptions {
    HTMLAttributes: Record<string, any>;
    allowedDomains: string[];
    autoplay: boolean;
    controls: boolean;
    width: number;
    height: number;
    responsive: boolean;
    onVideoLoad?: (src: string, metadata: VideoMetadata) => void;
    onVideoError?: (src: string, error: Error) => void;
}
export interface VideoMetadata {
    title?: string;
    duration?: number;
    thumbnail?: string;
    provider?: 'youtube' | 'vimeo' | 'direct' | 'other';
    embedUrl?: string;
}
declare module '@tiptap/core' {
    interface Commands<ReturnType> {
        videoEmbed: {
            /**
             * Insert a video embed
             */
            insertVideoEmbed: (options: {
                src: string;
                title?: string;
                width?: number;
                height?: number;
                autoplay?: boolean;
                controls?: boolean;
            }) => ReturnType;
            /**
             * Update video settings
             */
            updateVideoSettings: (src: string, settings: Partial<{
                width: number;
                height: number;
                autoplay: boolean;
                controls: boolean;
            }>) => ReturnType;
        };
    }
}
export declare const VideoEmbedExtension: Node<VideoEmbedOptions, any>;
export default VideoEmbedExtension;
//# sourceMappingURL=VideoEmbedExtension.d.ts.map