import type { FetchResult, MediaSource, SmartVideoOptions, YoutubeEmbedOptions, YoutubeThumbnailQuality } from "../../types/index.js"; /** * Extracts a YouTube video id from a watch / shorts / live / embed / * `youtu.be` URL or a bare 11-char id. Returns `null` when not matched. * * @param input - URL or bare video id. * @returns The 11-char video id or `null`. * * @example * ```ts * useGetYoutubeVideoId("https://www.youtube.com/watch?v=dQw4w9WgXcQ"); // "dQw4w9WgXcQ" * useGetYoutubeVideoId("https://youtu.be/dQw4w9WgXcQ"); // "dQw4w9WgXcQ" * useGetYoutubeVideoId("dQw4w9WgXcQ"); // "dQw4w9WgXcQ" * ``` */ export declare function useGetYoutubeVideoId(input: string): string | null; /** * Extracts a Vimeo video id from a URL or bare numeric id. * * @param input - URL or bare numeric id. * @returns The numeric id or `null`. */ export declare function useGetVimeoVideoId(input: string): string | null; /** * Normalizes any supported input into a {@link MediaSource}. * Pure and SSR-safe: no DOM, no fetch. * * @param input - YouTube/Vimeo URL or id, or direct video file URL. * @returns Normalized `{ provider, id, raw }`. * * @example * ```ts * useParseMediaSource("https://youtu.be/dQw4w9WgXcQ"); * // { provider: "youtube", id: "dQw4w9WgXcQ", raw: "…" } * ``` */ export declare function useParseMediaSource(input: string): MediaSource; /** * Builds the privacy-enhanced YouTube embed URL (`youtube-nocookie`). * * @param videoId - 11-char YouTube video id. * @param options - Player options (start/end/autoplay/extra params). * @returns Embed URL ready for `