UNPKG

next-seo

Version:

SEO plugin for Next.js projects

392 lines (391 loc) 10.7 kB
export declare type OpeningHoursSpecification = { opens: string; closes: string; dayOfWeek: string | string[]; validFrom?: string; validThrough?: string; }; export declare type Offer = { priceSpecification: PriceSpecification; itemOffered: Service; }; export declare type PriceSpecification = { type: string; priceCurrency: string; price: string; }; export declare type Service = { name: string; description: string; }; export declare type Geo = { latitude: string; longitude: string; }; export declare type GeoCircle = { geoMidpoint: Geo; geoRadius: string; }; export declare type Action = { actionName: string; actionType: string; target: string; }; export declare type Step = { type: string; name: string; url?: string; itemListElement?: StepDetails[]; image?: string; }; export declare type StepDetails = { type: 'HowToTip' | 'HowToDirection'; text: string; }; export interface Person { name: string; } export interface Answer { text: string; dateCreated?: string; upvoteCount?: number; url?: string; author?: Person; } export interface Question { name: string; answerCount: number; acceptedAnswer?: Answer; suggestedAnswer?: Answer[]; text?: string; author?: Person; upvoteCount?: number; dateCreated?: string; } export interface Instruction { name?: string; text: string; url?: string; image?: string; } export interface Performer { type?: 'Person' | 'PerformingGroup'; name: string; } export interface Place { name: string; address: Address; sameAs?: string; } export interface VirtualLocation { name?: string; sameAs?: string; url: string; } export declare type Location = string | Place | VirtualLocation; export declare type EventStatus = 'EventCancelled' | 'EventMovedOnline' | 'EventPostponed' | 'EventRescheduled' | 'EventScheduled'; export declare type EventAttendanceMode = 'MixedEventAttendanceMode' | 'OfflineEventAttendanceMode' | 'OnlineEventAttendanceMode'; export interface Organizer { type: 'Person' | 'Organization'; name: string; url: string; } export interface ContactPoint { contactType: string; telephone: string; email?: string; areaServed?: string | string[]; availableLanguage?: string | string[]; contactOption?: string | string[]; } export interface CreativeWork { author: string; about: string; name: string; datePublished: string; audience?: string; keywords?: string; thumbnailUrl?: string; image?: string; } export interface Producer { name: string; url?: string; } export interface Question { questionName: string; acceptedAnswerText: string; } export interface Provider { type?: 'Organization' | 'Person'; name: string; url?: string; } export interface ItemListElements { item: string; name: string; position: number; } export interface OpenGraphMedia { url: string; width?: number | null; height?: number | null; alt?: string; type?: string; secureUrl?: string; } export declare type Address = string | { streetAddress: string; addressLocality: string; addressRegion?: string; postalCode: string; addressCountry: string; }; export interface Video { name: string; description: string; thumbnailUrls: string[]; uploadDate: string; contentUrl?: string; duration?: string; embedUrl?: string; expires?: string; hasPart?: Clip | Clip[]; watchCount?: number; publication?: BroadcastEvent | BroadcastEvent[]; regionsAllowed?: string | string[]; } export interface Clip { name: string; startOffset: number; url: string; } export interface BroadcastEvent { name?: string; isLiveBroadcast: boolean; startDate: string; endDate: string; } export declare type Offers = { price: string; priceCurrency: string; priceValidUntil?: string; itemCondition?: string; availability?: string; url?: string; seller: { name: string; }; validFrom?: string; }; export declare type AggregateOffer = { priceCurrency: string; lowPrice: string; highPrice?: string; offerCount?: string; offers?: Offers | Offers[]; }; export interface OpenGraphVideoActors { profile: string; role?: string; } export interface OpenGraph { url?: string; type?: string; title?: string; description?: string; images?: ReadonlyArray<OpenGraphMedia>; videos?: ReadonlyArray<OpenGraphMedia>; audio?: ReadonlyArray<OpenGraphMedia>; defaultImageHeight?: number; defaultImageWidth?: number; locale?: string; siteName?: string; /** * @deprecated use siteName instead. site_name will be removed in the next major version */ site_name?: string; profile?: OpenGraphProfile; book?: OpenGraphBook; article?: OpenGraphArticle; video?: OpenGraphVideo; } export interface OpenGraphProfile { firstName?: string; lastName?: string; username?: string; gender?: string; } export interface OpenGraphBook { authors?: ReadonlyArray<string>; isbn?: string; releaseDate?: string; tags?: ReadonlyArray<string>; } export interface OpenGraphArticle { publishedTime?: string; modifiedTime?: string; expirationTime?: string; authors?: ReadonlyArray<string>; section?: string; tags?: ReadonlyArray<string>; } export interface OpenGraphVideo { actors?: ReadonlyArray<OpenGraphVideoActors>; directors?: ReadonlyArray<string>; writers?: ReadonlyArray<string>; duration?: number; releaseDate?: string; tags?: ReadonlyArray<string>; series?: string; } export interface OpenGraphAudio { audio?: string; url?: string; secureUrl?: string; type?: string; } export interface Twitter { handle?: string; site?: string; cardType?: string; } interface MobileAlternate { media: string; href: string; } interface LanguageAlternate { hrefLang: string; href: string; } interface LinkTag { rel: string; href: string; sizes?: string; media?: string; type?: string; color?: string; keyOverride?: string; as?: string; crossOrigin?: string; } export interface BaseMetaTag { content: string; keyOverride?: string; } export interface HTML5MetaTag extends BaseMetaTag { name: string; property?: undefined; httpEquiv?: undefined; } export interface RDFaMetaTag extends BaseMetaTag { property: string; name?: undefined; httpEquiv?: undefined; } export interface HTTPEquivMetaTag extends BaseMetaTag { httpEquiv: 'content-security-policy' | 'content-type' | 'default-style' | 'x-ua-compatible' | 'refresh'; name?: undefined; property?: undefined; } export declare type MetaTag = HTML5MetaTag | RDFaMetaTag | HTTPEquivMetaTag; export declare type ImagePrevSize = 'none' | 'standard' | 'large'; export declare type AggregateRating = { ratingValue: string; reviewCount?: string; ratingCount?: string; bestRating?: string; }; export declare type GamePlayMode = 'CoOp' | 'MultiPlayer' | 'SinglePlayer'; export declare type Review = { author: string; datePublished?: string; reviewBody?: string; name?: string; publisher?: Publisher; reviewRating: ReviewRating; }; export declare type ReviewRating = { bestRating?: string; ratingValue: string; worstRating?: string; }; export declare type Author = { type: string; name: string; }; export declare type ArticleAuthor = { name: string; url?: string; type?: 'Person' | 'Organization'; }; export declare type Publisher = { type: string; name: string; }; export declare type ReviewedBy = { type?: string; name: string; }; export declare type ApplicationCategory = 'Game' | 'SocialNetworking' | 'Travel' | 'Shopping' | 'Sports' | 'Lifestyle' | 'Business' | 'Design' | 'Developer' | 'Driver' | 'Educational' | 'Health' | 'Finance' | 'Security' | 'Browser' | 'Communication' | 'DesktopEnhancement' | 'Entertainment' | 'Multimedia' | 'Home' | 'Utilities' | 'Reference'; export declare type OrganizationCategory = 'Airline' | 'Consortium' | 'Corporation' | 'EducationalOrganization' | 'FundingScheme' | 'GovernmentOrganization' | 'LibrarySystem' | 'LocalBusiness' | 'MedicalOrganization' | 'NGO' | 'NewsMediaOrganization' | 'PerformingGroup' | 'Project' | 'ResearchOrganization' | 'SportsOrganization' | 'WorkersUnion' | 'Organization'; export interface AdditionalRobotsProps { nosnippet?: boolean; maxSnippet?: number; maxImagePreview?: ImagePrevSize; maxVideoPreview?: number; noarchive?: boolean; unavailableAfter?: string; noimageindex?: boolean; notranslate?: boolean; } export interface NextSeoProps { title?: string; titleTemplate?: string; defaultTitle?: string; themeColor?: string; noindex?: boolean; nofollow?: boolean; robotsProps?: AdditionalRobotsProps; description?: string; canonical?: string; mobileAlternate?: MobileAlternate; languageAlternates?: ReadonlyArray<LanguageAlternate>; openGraph?: OpenGraph; facebook?: { appId: string; }; twitter?: Twitter; additionalMetaTags?: ReadonlyArray<MetaTag>; additionalLinkTags?: ReadonlyArray<LinkTag>; children?: never; useAppDir?: boolean; } export interface DefaultSeoProps { dangerouslySetAllPagesToNoIndex?: boolean; dangerouslySetAllPagesToNoFollow?: boolean; defaultOpenGraphImageWidth?: number; defaultOpenGraphImageHeight?: number; defaultOpenGraphVideoWidth?: number; defaultOpenGraphVideoHeight?: number; title?: string; titleTemplate?: string; themeColor?: string; defaultTitle?: string; robotsProps?: AdditionalRobotsProps; description?: string; canonical?: string; mobileAlternate?: MobileAlternate; languageAlternates?: ReadonlyArray<LanguageAlternate>; openGraph?: OpenGraph; facebook?: { appId: string; }; twitter?: Twitter; additionalMetaTags?: ReadonlyArray<MetaTag>; additionalLinkTags?: ReadonlyArray<LinkTag>; children?: never; } export interface BuildTagsParams extends DefaultSeoProps, NextSeoProps { } export {};