import { Spacing } from '../enums.js'; import type { Media, MediaSource, AdaptiveElement } from '../models.js'; /** Fluent builder for {@link Media} elements. */ export declare class MediaBuilder { private readonly media; /** Sets the unique identifier. @param id The unique identifier. @returns The builder instance for method chaining. */ withId(id: string): this; /** Sets the poster image URL displayed before playback. @param poster The poster URL. @returns The builder instance for method chaining. */ withPoster(poster: string): this; /** Sets the alternate text for accessibility. @param altText The alt text. @returns The builder instance for method chaining. */ withAltText(altText: string): this; /** Sets the spacing above the element. @param spacing The spacing value. @returns The builder instance for method chaining. */ withSpacing(spacing: Spacing): this; /** Sets whether a separator line is displayed above the element. @param separator True to show a separator. @returns The builder instance for method chaining. */ withSeparator(separator?: boolean): this; /** Sets whether the element is visible. @param isVisible True to show the element. @returns The builder instance for method chaining. */ withIsVisible(isVisible: boolean): this; /** Sets the height of the element. @param height The height ('auto' or 'stretch'). @returns The builder instance for method chaining. */ withHeight(height: string): this; /** Sets the fallback behavior when the element is unsupported. @param fallback The fallback value ('drop' or an element). @returns The builder instance for method chaining. */ withFallback(fallback: 'drop' | AdaptiveElement): this; /** Sets the feature requirements for the element. @param key The feature name. @param version The minimum required version. @returns The builder instance for method chaining. */ withRequires(key: string, version: string): this; /** Sets whether content should be laid out right-to-left. @param rtl True for RTL. @returns The builder instance for method chaining. */ withRtl(rtl?: boolean): this; /** Adds a caption source for subtitles or captions (v1.6+). @param url The URL of the caption file. @param mimeType The MIME type of the caption file. @param label The display label for the caption track. @returns The builder instance for method chaining. */ addCaptionSource(url: string, mimeType: string, label: string): this; /** Adds a media source with a URL and MIME type. @param url The media URL. @param mimeType The MIME type of the source. @returns The builder instance for method chaining. */ addSource(url: string, mimeType: string): this; /** Adds a pre-built MediaSource object. @param source A pre-built MediaSource. @returns The builder instance for method chaining. */ addSource(source: MediaSource): this; /** Builds and returns the configured Media element. @returns The configured Media instance. */ build(): Media; } //# sourceMappingURL=MediaBuilder.d.ts.map