import { Plugin } from 'vite'; interface BasicOptions { /** * @description The title of your object as it should appear within the graph, e.g., "The Rock". */ title?: string; /** * @description The type of your object, e.g., "video.movie". Depending on the type you specify, other properties may also be required. */ type?: string; /** * @description An image URL which should represent your object within the graph. */ image?: string | ImageOptions; /** * @description The canonical URL of your object that will be used as its permanent ID in the graph, e.g., "https://www.imdb.com/title/tt0117500/". */ url?: string; /** * @description A URL to an audio file to accompany this object. */ audio?: string | AudioOptions; /** * @description A one to two sentence description of your object. */ description?: string; /** * @description The word that appears before this object's title in a sentence. * @default "" * @tip If auto is chosen, the consumer of your data should chose between "a" or "an". */ determiner?: 'a' | 'an' | 'the' | 'auto' | ''; /** * @description The locale these tags are marked up in. Of the format `language_TERRITORY`. * @default en_US */ locale?: string; /** * @description An array of other locales this page is available in. */ localeAlternate?: string[]; /** * @description If your object is part of a larger web site, the name which should be displayed for the overall site. e.g., "IMDb". */ siteName?: string; /** * @description A URL to a video file that complements this object. */ video?: string | VideoOptions; } interface ImageOptions { /** * @description An image URL which should represent your object within the graph. */ url?: string; /** * @description An alternate url to use if the webpage requires HTTPS. */ secureUrl?: string; /** * @description A MIME type for this image. * @wiki https://en.wikipedia.org/wiki/Media_type * @example image/jpeg */ type?: string; /** * @description The number of pixels wide. */ width?: number; /** * @description The number of pixels high. */ height?: number; /** * @description A description of what is in the image (not a caption). If the page specifies an og:image it should specify `og:image:alt`. */ alt?: string; } type VideoOptions = Omit; type AudioOptions = Pick; interface TwitterOptions { /** * @description The card type * @backup `og:type` */ card?: 'summary' | 'summary_large_image' | 'app' | 'player'; /** * @description username of website. Either twitter:site or twitter:site:id is required. */ site?: string; /** * @description Same as twitter:site, but the user’s Twitter ID. Either twitter:site or twitter:site:id is required. */ siteId?: string; /** * @description username of content creator */ creator?: string; /** * @description Twitter user ID of content creator */ creatorId?: string; /** * @description Description of content * @backup `og:description` */ description?: string; /** * @description Title of content * @backup `og:title` */ title?: string; /** * @description URL of image to use in the card. Images must be less than 5MB in size. JPG, PNG, WEBP and GIF formats are supported. Only the first frame of an animated GIF will be used. SVG is not supported. * @backup `og:image` */ image?: string; /** * @description A text description of the image conveying the essential nature of an image to users who are visually impaired. Maximum 420 characters. * @backup `og:image:alt` */ imageAlt?: string; /** * @description HTTPS URL of player iframe */ player?: string; /** * @description Width of iframe in pixels */ playerWidth?: number; /** * @description Height of iframe in pixels */ playerHeight?: number; /** * @description URL to raw video or audio stream */ playerStream?: string; app?: { name?: { /** * @description Name of your iPhone app */ iphone?: string; /** * @description Name of your iPad optimized app */ ipad?: string; /** * @description Name of your Android app */ googleplay?: string; }; id?: { /** * @description Your app ID in the iTunes App Store * @note NOT your bundle ID */ iphone?: string; /** * @description Your app ID in the iTunes App Store */ ipad?: string; /** * @description Your app ID in the Google Play Store */ googleplay?: string; }; url?: { /** * @description Your app’s custom URL scheme (you must include ”://” after your scheme name) */ iphone?: string; /** * @description Your app’s custom URL scheme */ ipad?: string; /** * @description Your app’s custom URL scheme */ googleplay?: string; }; }; } interface FacebookOptions { /** * @description unique number that identifies your app */ appId: number; } interface Options { /** * Basic options for Open Graph. */ basic?: BasicOptions; /** * Open Graph options for Twitter. */ twitter?: TwitterOptions; /** * Open Graph options for Facebook. */ facebook?: FacebookOptions; } declare const _default: (options?: Options) => Plugin; export { type BasicOptions, type FacebookOptions, type Options, type TwitterOptions, _default as default };