import type { HTMLAttributes, ImgHTMLAttributes, Ref } from 'vue'; import type { ElementScriptTrigger } from '../types.js'; export type YoutubeThumbnailSize = '1' | '2' | '3' | 'default' | 'mq1' | 'mq2' | 'mq3' | 'mqdefault' | '0' | 'hq1' | 'hq2' | 'hq3' | 'hqdefault' | 'sd1' | 'sd2' | 'sd3' | 'sddefault' | 'hq720' | 'maxresdefault'; type __VLS_Props = { placeholderAttrs?: ImgHTMLAttributes; rootAttrs?: HTMLAttributes; aboveTheFold?: boolean; trigger?: ElementScriptTrigger; videoId: string; playerVars?: YT.PlayerVars; width?: number; height?: number; ratio?: string; /** * Whether to use youtube-nocookie.com for embedding. * * @default false */ cookies?: boolean; playerOptions?: YT.PlayerOptions; thumbnailSize?: YoutubeThumbnailSize; webp?: boolean; /** * Object-fit for the placeholder image. * * @default 'cover' */ placeholderObjectFit?: 'cover' | 'contain' | 'fill' | 'none' | 'scale-down'; }; type __VLS_Slots = { default?: () => any; placeholder?: (props: { placeholder: string; }) => any; loading?: () => any; awaitingLoad?: () => any; error?: () => any; }; declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, { player: Ref; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { error: (e: YT.OnErrorEvent, target: YT.Player) => any; ready: (e: YT.PlayerEvent) => any; "state-change": (e: YT.OnStateChangeEvent, target: YT.Player) => any; "playback-quality-change": (e: YT.OnPlaybackQualityChangeEvent, target: YT.Player) => any; "playback-rate-change": (e: YT.OnPlaybackRateChangeEvent, target: YT.Player) => any; "api-change": (e: YT.PlayerEvent, target: YT.Player) => any; }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{ onError?: ((e: YT.OnErrorEvent, target: YT.Player) => any) | undefined; onReady?: ((e: YT.PlayerEvent) => any) | undefined; "onState-change"?: ((e: YT.OnStateChangeEvent, target: YT.Player) => any) | undefined; "onPlayback-quality-change"?: ((e: YT.OnPlaybackQualityChangeEvent, target: YT.Player) => any) | undefined; "onPlayback-rate-change"?: ((e: YT.OnPlaybackRateChangeEvent, target: YT.Player) => any) | undefined; "onApi-change"?: ((e: YT.PlayerEvent, target: YT.Player) => any) | undefined; }>, { trigger: ElementScriptTrigger; width: number; height: number; ratio: string; placeholderObjectFit: "cover" | "contain" | "fill" | "none" | "scale-down"; playerVars: YT.PlayerVars; cookies: boolean; thumbnailSize: YoutubeThumbnailSize; webp: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };