import { ReactNode, RefObject } from 'react';
import { ImperativeHandle, VideoApiErrorSource, VideoPluginConfig } from './types';
interface VideoContextValue {
    pageId?: string;
    maxFileSize: number;
    imperativeHandleRef?: RefObject<ImperativeHandle>;
    registerUpload: (uploadId: string) => void;
    unregisterUpload: (uploadId: string) => void;
    isUploading: boolean;
    uploadingCount: number;
    reportError: (error: unknown, source: VideoApiErrorSource, videoId?: string) => void;
    onTrack?: (event: string, params?: Record<string, unknown>) => void;
}
interface VideoConfigProviderProps {
    config: VideoPluginConfig;
    children: ReactNode;
    imperativeHandleRef?: RefObject<Record<string, unknown>>;
}
export declare function VideoConfigProvider({ config, children, imperativeHandleRef: editorImperativeHandleRef, }: VideoConfigProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useVideoContext(): VideoContextValue;
export {};
//# sourceMappingURL=context.d.ts.map