import { type CSSProperties, type ImgHTMLAttributes, type ReactNode } from 'react';
import { type CssLength } from '../../../utils/css';
export type UrbanTvLayer = 'primary' | 'glow' | 'reflect';
export type UrbanTvVideoKind = 'iframe' | 'video';
export type UrbanTvImage = string | {
src: string;
alt?: string;
srcSet?: string;
sizes?: string;
objectPosition?: string;
loading?: ImgHTMLAttributes['loading'];
fetchPriority?: ImgHTMLAttributes['fetchPriority'];
};
export type UrbanTvPageProps = {
videoSrc?: string;
videoKind?: UrbanTvVideoKind;
videoTitle?: string;
videoPoster?: string;
videoAutoPlay?: boolean;
videoMuted?: boolean;
videoLoop?: boolean;
videoControls?: boolean;
videoPlaysInline?: boolean;
iframeAllow?: string;
iframeAllowFullScreen?: boolean;
renderMedia?: (layer: UrbanTvLayer) => ReactNode;
words?: readonly string[];
backgroundImage?: UrbanTvImage | null;
className?: string;
contentClassName?: string;
style?: CSSProperties;
minHeight?: CssLength;
borderRadius?: CssLength;
ariaLabel?: string;
wordIntervalMs?: number;
wordFadeMs?: number;
backgroundFadeDelayMs?: number;
backgroundFadeDuration?: string;
reflectsFadeDelayMs?: number;
reflectsFadeDuration?: string;
flattenDelayMs?: number;
flattenDuration?: string;
};
export declare const UrbanTvPage: ({ videoSrc, videoKind, videoTitle, videoPoster, videoAutoPlay, videoMuted, videoLoop, videoControls, videoPlaysInline, iframeAllow, iframeAllowFullScreen, renderMedia, words, backgroundImage, className, contentClassName, style, minHeight, borderRadius, ariaLabel, wordIntervalMs, wordFadeMs, backgroundFadeDelayMs, backgroundFadeDuration, reflectsFadeDelayMs, reflectsFadeDuration, flattenDelayMs, flattenDuration, }: UrbanTvPageProps) => import("react/jsx-runtime").JSX.Element;