next-seo
Version:
SEO plugin for Next.js projects
1,309 lines (1,293 loc) • 103 kB
TypeScript
import * as react_jsx_runtime from 'react/jsx-runtime';
interface JsonLdScriptProps<T = Record<string, unknown>> {
data: T;
id?: string;
scriptKey: string;
}
declare function JsonLdScript<T = Record<string, unknown>>({ data, id, scriptKey, }: JsonLdScriptProps<T>): React.JSX.Element | null;
interface Thing {
name?: string;
description?: string;
url?: string;
image?: string;
}
interface ImageObject {
"@type": "ImageObject";
url: string;
width?: number;
height?: number;
caption?: string;
}
interface Person extends Thing {
"@type": "Person";
familyName?: string;
givenName?: string;
additionalName?: string;
alternateName?: string;
identifier?: string;
interactionStatistic?: InteractionCounter | InteractionCounter[] | Omit<InteractionCounter, "@type"> | Omit<InteractionCounter, "@type">[];
agentInteractionStatistic?: InteractionCounter | Omit<InteractionCounter, "@type">;
sameAs?: string | string[];
}
interface Organization extends Thing {
"@type": "Organization";
logo?: string | ImageObject | Omit<ImageObject, "@type">;
sameAs?: string | string[];
address?: string | PostalAddress | Omit<PostalAddress, "@type"> | (string | PostalAddress | Omit<PostalAddress, "@type">)[];
contactPoint?: ContactPoint | Omit<ContactPoint, "@type"> | ContactPoint[] | Omit<ContactPoint, "@type">[];
telephone?: string;
email?: string;
alternateName?: string;
foundingDate?: string;
legalName?: string;
taxID?: string;
vatID?: string;
duns?: string;
leiCode?: string;
naics?: string;
globalLocationNumber?: string;
iso6523Code?: string;
numberOfEmployees?: number | QuantitativeValue | Omit<QuantitativeValue, "@type">;
review?: Review | Omit<Review, "@type"> | Review[] | Omit<Review, "@type">[];
aggregateRating?: AggregateRating | Omit<AggregateRating, "@type">;
identifier?: string;
interactionStatistic?: InteractionCounter | InteractionCounter[] | Omit<InteractionCounter, "@type"> | Omit<InteractionCounter, "@type">[];
agentInteractionStatistic?: InteractionCounter | Omit<InteractionCounter, "@type">;
}
interface PostalAddress {
"@type": "PostalAddress";
streetAddress?: string;
addressLocality?: string;
addressRegion?: string;
postalCode?: string;
addressCountry?: string;
}
interface Place$2 {
"@type": "Place";
name?: string;
address?: PostalAddress | Omit<PostalAddress, "@type">;
}
interface ContactPoint {
"@type": "ContactPoint";
contactType?: string;
telephone?: string;
email?: string;
}
interface QuantitativeValue {
"@type": "QuantitativeValue";
value?: number | string;
minValue?: number;
maxValue?: number;
unitText?: string;
unitCode?: string;
valueReference?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
interface SimpleMonetaryAmount {
"@type": "MonetaryAmount";
value: number | string;
currency: string;
}
interface MerchantReturnPolicySeasonalOverride {
"@type": "MerchantReturnPolicySeasonalOverride";
startDate?: string;
endDate?: string;
returnPolicyCategory?: string;
merchantReturnDays?: number | string;
}
interface MerchantReturnPolicy {
"@type": "MerchantReturnPolicy";
applicableCountry?: string | string[];
returnPolicyCountry?: string | string[];
returnPolicyCategory?: string;
merchantReturnDays?: number;
returnMethod?: string | string[];
returnFees?: string;
returnShippingFeesAmount?: SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
refundType?: string | string[];
restockingFee?: number | SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
returnLabelSource?: string;
itemCondition?: string | string[];
customerRemorseReturnFees?: string;
customerRemorseReturnShippingFeesAmount?: SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
customerRemorseReturnLabelSource?: string;
itemDefectReturnFees?: string;
itemDefectReturnShippingFeesAmount?: SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
itemDefectReturnLabelSource?: string;
returnPolicySeasonalOverride?: MerchantReturnPolicySeasonalOverride | Omit<MerchantReturnPolicySeasonalOverride, "@type"> | MerchantReturnPolicySeasonalOverride[] | Omit<MerchantReturnPolicySeasonalOverride, "@type">[];
merchantReturnLink?: string;
}
type PriceTypeEnumeration = "https://schema.org/StrikethroughPrice" | "https://schema.org/ListPrice" | "StrikethroughPrice" | "ListPrice";
interface CreditCard {
"@type": "CreditCard";
name: string;
}
interface UnitPriceSpecification {
"@type": "UnitPriceSpecification";
price?: number | string;
priceCurrency?: string;
billingDuration?: number;
billingIncrement?: number;
unitCode?: string;
priceType?: PriceTypeEnumeration;
validForMemberTier?: MemberProgramTier | Omit<MemberProgramTier, "@type"> | (MemberProgramTier | Omit<MemberProgramTier, "@type">)[];
membershipPointsEarned?: number;
referenceQuantity?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
type TierRequirement = CreditCard | SimpleMonetaryAmount | UnitPriceSpecification | string | Omit<CreditCard, "@type"> | Omit<SimpleMonetaryAmount, "@type"> | Omit<UnitPriceSpecification, "@type">;
type TierBenefit = "TierBenefitLoyaltyPoints" | "TierBenefitLoyaltyPrice" | "https://schema.org/TierBenefitLoyaltyPoints" | "https://schema.org/TierBenefitLoyaltyPrice";
interface MemberProgramTier {
"@type": "MemberProgramTier";
"@id"?: string;
name: string;
url?: string;
hasTierBenefit: TierBenefit | TierBenefit[];
hasTierRequirement?: TierRequirement;
membershipPointsEarned?: number | QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
interface MemberProgram {
"@type": "MemberProgram";
name: string;
description: string;
url?: string;
hasTiers: MemberProgramTier | Omit<MemberProgramTier, "@type"> | (MemberProgramTier | Omit<MemberProgramTier, "@type">)[];
}
type Author = string | Person | Organization | Omit<Person, "@type"> | Omit<Organization, "@type">;
interface GeoCoordinates {
"@type": "GeoCoordinates";
latitude: number;
longitude: number;
}
interface Rating {
"@type": "Rating";
ratingValue: number | string;
bestRating?: number | string;
worstRating?: number | string;
}
interface Review {
"@type": "Review";
reviewRating?: Rating | Omit<Rating, "@type">;
author?: Author;
reviewBody?: string;
datePublished?: string;
}
interface AggregateRating {
"@type": "AggregateRating";
ratingValue: number;
ratingCount?: number;
reviewCount?: number;
bestRating?: number;
worstRating?: number;
}
interface OpeningHoursSpecification {
"@type": "OpeningHoursSpecification";
dayOfWeek: string | string[];
opens: string;
closes: string;
validFrom?: string;
validThrough?: string;
}
interface VideoObject$1 {
"@type": "VideoObject";
name: string;
description: string;
thumbnailUrl: string | string[];
contentUrl?: string;
embedUrl?: string;
uploadDate: string;
duration?: string;
expires?: string;
}
interface InteractionCounter {
"@type": "InteractionCounter";
interactionType: string;
userInteractionCount: number;
}
interface Brand {
"@type": "Brand";
name?: string;
}
interface BedDetails {
"@type": "BedDetails";
numberOfBeds?: number;
typeOfBed?: string;
}
interface LocationFeatureSpecification {
"@type": "LocationFeatureSpecification";
name: string;
value: boolean | string;
}
interface Accommodation {
"@type": "Accommodation";
additionalType?: string;
bed?: BedDetails | Omit<BedDetails, "@type"> | (BedDetails | Omit<BedDetails, "@type">)[];
occupancy?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
amenityFeature?: LocationFeatureSpecification | Omit<LocationFeatureSpecification, "@type"> | (LocationFeatureSpecification | Omit<LocationFeatureSpecification, "@type">)[];
floorSize?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
numberOfBathroomsTotal?: number;
numberOfBedrooms?: number;
numberOfRooms?: number;
petsAllowed?: boolean;
smokingAllowed?: boolean;
}
interface Certification {
"@type": "Certification";
issuedBy: Organization | Omit<Organization, "@type"> | {
"@type"?: "Organization";
name: string;
};
name: string;
url?: string;
certificationIdentification?: string;
certificationRating?: Rating | Omit<Rating, "@type">;
}
interface PeopleAudience {
"@type": "PeopleAudience";
suggestedGender?: "male" | "female" | "unisex" | "https://schema.org/Male" | "https://schema.org/Female";
suggestedMinAge?: number;
suggestedMaxAge?: number;
suggestedAge?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
interface SizeSpecification {
"@type": "SizeSpecification";
name?: string;
sizeGroup?: "WearableSizeGroupRegular" | "WearableSizeGroupPetite" | "WearableSizeGroupPlus" | "WearableSizeGroupTall" | "WearableSizeGroupBig" | "WearableSizeGroupMaternity" | "https://schema.org/WearableSizeGroupRegular" | "https://schema.org/WearableSizeGroupPetite" | "https://schema.org/WearableSizeGroupPlus" | "https://schema.org/WearableSizeGroupTall" | "https://schema.org/WearableSizeGroupBig" | "https://schema.org/WearableSizeGroupMaternity" | "regular" | "petite" | "plus" | "tall" | "big" | "maternity";
sizeSystem?: "WearableSizeSystemAU" | "WearableSizeSystemBR" | "WearableSizeSystemCN" | "WearableSizeSystemDE" | "WearableSizeSystemEurope" | "WearableSizeSystemFR" | "WearableSizeSystemIT" | "WearableSizeSystemJP" | "WearableSizeSystemMX" | "WearableSizeSystemUK" | "WearableSizeSystemUS" | "https://schema.org/WearableSizeSystemAU" | "https://schema.org/WearableSizeSystemBR" | "https://schema.org/WearableSizeSystemCN" | "https://schema.org/WearableSizeSystemDE" | "https://schema.org/WearableSizeSystemEurope" | "https://schema.org/WearableSizeSystemFR" | "https://schema.org/WearableSizeSystemIT" | "https://schema.org/WearableSizeSystemJP" | "https://schema.org/WearableSizeSystemMX" | "https://schema.org/WearableSizeSystemUK" | "https://schema.org/WearableSizeSystemUS" | "AU" | "BR" | "CN" | "DE" | "EU" | "FR" | "IT" | "JP" | "MX" | "UK" | "US";
}
interface ThreeDModel {
"@type": "3DModel";
encoding?: {
"@type"?: "MediaObject";
contentUrl: string;
};
}
interface DefinedRegion {
"@type": "DefinedRegion";
addressCountry: string;
addressRegion?: string | string[];
postalCode?: string | string[];
}
interface ShippingDeliveryTime {
"@type": "ShippingDeliveryTime";
handlingTime?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
transitTime?: QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
interface OfferShippingDetails {
"@type": "OfferShippingDetails";
shippingRate?: SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
shippingDestination?: DefinedRegion | Omit<DefinedRegion, "@type"> | (DefinedRegion | Omit<DefinedRegion, "@type">)[];
deliveryTime?: ShippingDeliveryTime | Omit<ShippingDeliveryTime, "@type">;
doesNotShip?: boolean;
}
type Director = string | Person | Omit<Person, "@type">;
interface Movie {
"@type": "Movie";
name: string;
image: string | ImageObject | (string | ImageObject)[];
url?: string;
dateCreated?: string;
director?: Director;
review?: Review | Omit<Review, "@type">;
aggregateRating?: AggregateRating | Omit<AggregateRating, "@type">;
}
type MovieListItem = Omit<Movie, "@type" | "image"> & {
image: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
};
type SummaryPageItem$2 = string | {
url: string;
position?: number;
};
type MovieCarouselJsonLdProps = {
scriptId?: string;
scriptKey?: string;
} & ({
urls: SummaryPageItem$2[];
} | {
movies: MovieListItem[];
});
type Provider = string | Organization | Omit<Organization, "@type">;
interface Course {
"@type": "Course";
name: string;
description: string;
url?: string;
provider?: Organization;
}
type CourseListItem = Omit<Course, "@type" | "provider"> & {
provider?: Provider;
};
type SummaryPageItem$1 = string | {
url: string;
position?: number;
};
interface CourseJsonLdBaseProps {
scriptId?: string;
scriptKey?: string;
}
interface SingleCourseProps extends CourseJsonLdBaseProps {
type?: "single";
name: string;
description: string;
url?: string;
provider?: Provider;
}
interface CourseListSummaryProps extends CourseJsonLdBaseProps {
type: "list";
urls: SummaryPageItem$1[];
}
interface CourseListAllInOneProps extends CourseJsonLdBaseProps {
type: "list";
courses: CourseListItem[];
}
type CourseJsonLdProps = SingleCourseProps | CourseListSummaryProps | CourseListAllInOneProps;
interface BreadcrumbListItem {
name: string;
item?: string | {
"@id": string;
};
}
interface ListItem {
"@type": "ListItem";
position: number;
name?: string;
item?: string | {
"@id": string;
};
}
type BreadcrumbJsonLdProps = {
items: BreadcrumbListItem[];
scriptId?: string;
scriptKey?: string;
} | {
multipleTrails: BreadcrumbListItem[][];
scriptId?: string;
scriptKey?: string;
};
interface Place$1 {
"@type": "Place";
name?: string;
address: PostalAddress | Omit<PostalAddress, "@type">;
}
interface Offer {
"@type": "Offer";
url?: string;
price?: number;
priceCurrency?: string;
availability?: string;
validFrom?: string;
}
interface PerformingGroup extends Thing {
"@type": "PerformingGroup";
}
type Performer = string | Person | PerformingGroup | Omit<Person, "@type"> | Omit<PerformingGroup, "@type">;
type Organizer = string | Person | Organization | Omit<Person, "@type"> | Omit<Organization, "@type">;
type EventStatusType = "https://schema.org/EventScheduled" | "https://schema.org/EventCancelled" | "https://schema.org/EventPostponed" | "https://schema.org/EventRescheduled";
interface EventBase {
name: string;
startDate: string;
location: string | Place$1 | Omit<Place$1, "@type">;
endDate?: string;
description?: string;
eventStatus?: EventStatusType;
image?: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
offers?: Offer | Omit<Offer, "@type"> | Offer[] | Omit<Offer, "@type">[];
performer?: Performer | Performer[];
organizer?: Organizer;
previousStartDate?: string | string[];
url?: string;
}
interface Event extends EventBase {
"@type": "Event";
}
type EventJsonLdProps = Omit<Event, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
interface NutritionInformation {
"@type": "NutritionInformation";
calories?: string;
carbohydrateContent?: string;
proteinContent?: string;
fatContent?: string;
saturatedFatContent?: string;
unsaturatedFatContent?: string;
transFatContent?: string;
cholesterolContent?: string;
sodiumContent?: string;
fiberContent?: string;
sugarContent?: string;
servingSize?: string;
}
interface HowToStep$1 {
"@type": "HowToStep";
name?: string;
text: string;
url?: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
}
interface HowToSection$1 {
"@type": "HowToSection";
name: string;
itemListElement: (HowToStep$1 | Omit<HowToStep$1, "@type">)[];
}
type Instruction = string | HowToStep$1 | HowToSection$1 | Omit<HowToStep$1, "@type"> | Omit<HowToSection$1, "@type">;
type RecipeImage = string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
interface Recipe {
"@type": "Recipe";
name: string;
image: RecipeImage;
description?: string;
author?: Author;
datePublished?: string;
prepTime?: string;
cookTime?: string;
totalTime?: string;
recipeYield?: string | number;
recipeCategory?: string;
recipeCuisine?: string;
nutrition?: Omit<NutritionInformation, "@type"> & {
"@type"?: "NutritionInformation";
};
recipeIngredient?: string[];
recipeInstructions?: Instruction | Instruction[];
aggregateRating?: AggregateRating | Omit<AggregateRating, "@type">;
video?: VideoObject$1 | Omit<VideoObject$1, "@type">;
keywords?: string;
url?: string;
}
type RecipeJsonLdProps = Omit<Recipe, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
interface GeoShape {
"@type": "GeoShape";
box?: string;
circle?: string;
line?: string;
polygon?: string;
}
interface PropertyValue$1 {
"@type": "PropertyValue";
name?: string;
value?: string;
propertyID?: string;
}
interface CreativeWork$1 {
"@type": "CreativeWork";
name?: string;
url?: string;
identifier?: string;
}
interface DatasetPlace {
"@type": "Place";
name?: string;
geo?: GeoCoordinates | GeoShape | Omit<GeoCoordinates, "@type"> | Omit<GeoShape, "@type">;
}
interface DataDownload {
"@type": "DataDownload";
contentUrl: string;
encodingFormat?: string;
contentSize?: string;
name?: string;
description?: string;
}
interface DataCatalog {
"@type": "DataCatalog";
name: string;
description?: string;
url?: string;
hasPart?: Dataset | Dataset[];
}
interface Dataset {
"@type": "Dataset";
name: string;
description: string;
url?: string;
sameAs?: string | string[];
identifier?: string | PropertyValue$1 | Omit<PropertyValue$1, "@type"> | (string | PropertyValue$1 | Omit<PropertyValue$1, "@type">)[];
keywords?: string | string[];
license?: string | CreativeWork$1 | Omit<CreativeWork$1, "@type">;
isAccessibleForFree?: boolean;
hasPart?: Dataset | Dataset[];
isPartOf?: string | Dataset;
creator?: Author | Author[];
funder?: Author | Author[];
includedInDataCatalog?: DataCatalog | Omit<DataCatalog, "@type">;
distribution?: DataDownload | Omit<DataDownload, "@type"> | (DataDownload | Omit<DataDownload, "@type">)[];
temporalCoverage?: string;
spatialCoverage?: string | DatasetPlace | Omit<DatasetPlace, "@type">;
alternateName?: string | string[];
citation?: string | CreativeWork$1 | Omit<CreativeWork$1, "@type"> | (string | CreativeWork$1 | Omit<CreativeWork$1, "@type">)[];
measurementTechnique?: string | string[];
variableMeasured?: string | PropertyValue$1 | Omit<PropertyValue$1, "@type"> | (string | PropertyValue$1 | Omit<PropertyValue$1, "@type">)[];
version?: string | number;
}
type DatasetJsonLdProps = Omit<Dataset, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
interface Country {
"@type": "Country";
name: string;
}
interface State {
"@type": "State";
name: string;
}
type AdministrativeArea = Country | State;
interface Place {
"@type": "Place";
address?: string | PostalAddress | Omit<PostalAddress, "@type">;
}
interface PropertyValue {
"@type": "PropertyValue";
name?: string;
value?: string;
}
interface MonetaryAmount {
"@type": "MonetaryAmount";
currency: string;
value: QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
interface EducationalOccupationalCredential {
"@type": "EducationalOccupationalCredential";
credentialCategory?: string;
}
interface OccupationalExperienceRequirements {
"@type": "OccupationalExperienceRequirements";
monthsOfExperience?: number;
}
type EmploymentType = "FULL_TIME" | "PART_TIME" | "CONTRACTOR" | "TEMPORARY" | "INTERN" | "VOLUNTEER" | "PER_DIEM" | "OTHER";
type JobLocationType = "TELECOMMUTE";
interface JobPostingBase {
title: string;
description: string;
datePosted: string;
hiringOrganization: string | Organization | Omit<Organization, "@type">;
jobLocation?: string | Place | Omit<Place, "@type"> | (string | Place | Omit<Place, "@type">)[];
url?: string;
validThrough?: string;
employmentType?: EmploymentType | EmploymentType[];
identifier?: string | PropertyValue | Omit<PropertyValue, "@type">;
baseSalary?: MonetaryAmount | Omit<MonetaryAmount, "@type">;
applicantLocationRequirements?: Omit<Country, "@type"> | Omit<State, "@type"> | Country | State | (Omit<Country, "@type"> | Omit<State, "@type"> | Country | State)[];
jobLocationType?: JobLocationType;
directApply?: boolean;
educationRequirements?: string | EducationalOccupationalCredential | Omit<EducationalOccupationalCredential, "@type"> | (string | EducationalOccupationalCredential | Omit<EducationalOccupationalCredential, "@type">)[];
experienceRequirements?: string | OccupationalExperienceRequirements | Omit<OccupationalExperienceRequirements, "@type">;
experienceInPlaceOfEducation?: boolean;
}
type JobPostingJsonLdProps = Omit<JobPostingBase, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
interface WebPage$1 {
"@type": "WebPage";
url: string;
name?: string;
description?: string;
}
interface CreativeWork {
"@type": "CreativeWork";
name?: string;
url?: string;
}
type SharedContent = string | WebPage$1 | ImageObject | VideoObject$1 | Omit<WebPage$1, "@type"> | Omit<ImageObject, "@type"> | Omit<VideoObject$1, "@type">;
interface Comment {
"@type": "Comment";
author: Author;
datePublished: string;
text?: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
video?: VideoObject$1 | Omit<VideoObject$1, "@type">;
comment?: (Comment | Omit<Comment, "@type">)[];
creativeWorkStatus?: string;
dateModified?: string;
interactionStatistic?: InteractionCounter | Omit<InteractionCounter, "@type"> | (InteractionCounter | Omit<InteractionCounter, "@type">)[];
sharedContent?: SharedContent;
url?: string;
}
interface DiscussionForumPostingBase {
headline?: string;
text?: string;
image?: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
video?: VideoObject$1 | Omit<VideoObject$1, "@type">;
author: Author | Author[];
datePublished: string;
dateModified?: string;
url?: string;
comment?: (Comment | Omit<Comment, "@type">)[];
creativeWorkStatus?: string;
interactionStatistic?: InteractionCounter | Omit<InteractionCounter, "@type"> | (InteractionCounter | Omit<InteractionCounter, "@type">)[];
isPartOf?: string | CreativeWork | Omit<CreativeWork, "@type">;
sharedContent?: SharedContent;
}
interface DiscussionForumPosting extends DiscussionForumPostingBase {
"@type": "DiscussionForumPosting";
}
interface SocialMediaPosting extends DiscussionForumPostingBase {
"@type": "SocialMediaPosting";
}
type DiscussionForumPostingJsonLdProps = (Omit<DiscussionForumPosting, "@type"> | Omit<SocialMediaPosting, "@type">) & {
type?: "DiscussionForumPosting" | "SocialMediaPosting";
scriptId?: string;
scriptKey?: string;
};
interface ClaimReviewRating extends Rating {
alternateName: string;
name?: string;
}
interface ClaimCreativeWork {
"@type": string;
"@id"?: string;
url?: string;
headline?: string;
datePublished?: string;
author?: Author;
image?: string;
publisher?: Organization | Omit<Organization, "@type">;
}
interface Claim {
"@type": "Claim";
appearance?: string | ClaimCreativeWork | Omit<ClaimCreativeWork, "@type"> | (string | ClaimCreativeWork | Omit<ClaimCreativeWork, "@type">)[];
author?: Author;
datePublished?: string;
firstAppearance?: string | ClaimCreativeWork | Omit<ClaimCreativeWork, "@type">;
}
interface ClaimReview {
"@type": "ClaimReview";
claimReviewed: string;
reviewRating: ClaimReviewRating | Omit<ClaimReviewRating, "@type">;
url: string;
author?: Author;
itemReviewed?: Claim | Omit<Claim, "@type">;
}
type ClaimReviewJsonLdProps = Omit<ClaimReview, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
type Duration = string;
type Thumbnail = string | ImageObject | Omit<ImageObject, "@type">;
type Region = string | string[];
interface BroadcastEvent {
"@type": "BroadcastEvent";
name?: string;
isLiveBroadcast: boolean;
startDate: string;
endDate?: string;
}
interface Clip {
"@type": "Clip";
name: string;
startOffset: number;
endOffset?: number;
url: string;
}
interface PotentialAction {
"@type": "SeekToAction";
target: string;
"startOffset-input": string;
}
interface VideoObjectBase {
name: string;
description: string;
thumbnailUrl: Thumbnail | Thumbnail[];
uploadDate: string;
contentUrl?: string;
embedUrl?: string;
duration?: Duration;
expires?: string;
interactionStatistic?: InteractionCounter | Omit<InteractionCounter, "@type"> | (InteractionCounter | Omit<InteractionCounter, "@type">)[];
regionsAllowed?: Region;
ineligibleRegion?: Region;
publication?: BroadcastEvent | Omit<BroadcastEvent, "@type"> | (BroadcastEvent | Omit<BroadcastEvent, "@type">)[];
hasPart?: Clip | Omit<Clip, "@type"> | (Clip | Omit<Clip, "@type">)[];
potentialAction?: PotentialAction | Omit<PotentialAction, "@type">;
author?: Author | Author[];
publisher?: Organization | Omit<Organization, "@type">;
}
interface VideoObject extends VideoObjectBase {
"@type": "VideoObject";
}
type VideoJsonLdProps = Omit<VideoObject, "@type"> & {
type?: "VideoObject";
scriptId?: string;
scriptKey?: string;
};
interface WebPageElement {
"@type": "WebPageElement";
isAccessibleForFree: boolean;
cssSelector: string;
}
type Publisher$1 = string | Organization | Person | Omit<Organization, "@type"> | Omit<Person, "@type">;
type CreativeWorkJsonLdProps = {
headline?: string;
name?: string;
url?: string;
author?: Author | Author[];
datePublished?: string;
dateModified?: string;
image?: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
publisher?: Publisher$1;
description?: string;
isAccessibleForFree?: boolean;
hasPart?: WebPageElement | Omit<WebPageElement, "@type"> | (WebPageElement | Omit<WebPageElement, "@type">)[];
mainEntityOfPage?: string | {
"@type": "WebPage";
"@id": string;
} | {
"@id": string;
};
text?: string;
provider?: Publisher$1;
itemReviewed?: string | {
name: string;
"@type"?: string;
};
reviewRating?: {
"@type"?: "Rating";
ratingValue: number;
bestRating?: number;
worstRating?: number;
};
type?: "CreativeWork" | "Article" | "NewsArticle" | "Blog" | "BlogPosting" | "Comment" | "Course" | "HowTo" | "Message" | "Review" | "WebPage";
scriptId?: string;
scriptKey?: string;
};
type ItemAvailability = "https://schema.org/BackOrder" | "https://schema.org/Discontinued" | "https://schema.org/InStock" | "https://schema.org/InStoreOnly" | "https://schema.org/LimitedAvailability" | "https://schema.org/OnlineOnly" | "https://schema.org/OutOfStock" | "https://schema.org/PreOrder" | "https://schema.org/PreSale" | "https://schema.org/SoldOut" | "BackOrder" | "Discontinued" | "InStock" | "InStoreOnly" | "LimitedAvailability" | "OnlineOnly" | "OutOfStock" | "PreOrder" | "PreSale" | "SoldOut";
interface PriceSpecification {
"@type": "PriceSpecification";
price: number | string;
priceCurrency?: string;
minPrice?: number;
maxPrice?: number;
}
interface ProductOffer {
"@type": "Offer";
url?: string;
price?: number | string;
priceCurrency?: string;
priceSpecification?: PriceSpecification | UnitPriceSpecification | Omit<PriceSpecification, "@type"> | Omit<UnitPriceSpecification, "@type"> | (PriceSpecification | UnitPriceSpecification | Omit<PriceSpecification, "@type"> | Omit<UnitPriceSpecification, "@type">)[];
availability?: ItemAvailability;
availabilityStarts?: string;
availabilityEnds?: string;
priceValidUntil?: string;
itemCondition?: "https://schema.org/NewCondition" | "https://schema.org/UsedCondition" | "https://schema.org/DamagedCondition" | "https://schema.org/RefurbishedCondition" | "NewCondition" | "UsedCondition" | "DamagedCondition" | "RefurbishedCondition";
seller?: string | Organization | Person | Omit<Organization, "@type"> | Omit<Person, "@type">;
shippingDetails?: OfferShippingDetails | Omit<OfferShippingDetails, "@type"> | (OfferShippingDetails | Omit<OfferShippingDetails, "@type">)[];
hasMerchantReturnPolicy?: MerchantReturnPolicy | Omit<MerchantReturnPolicy, "@type"> | MerchantReturnPolicy[] | Omit<MerchantReturnPolicy, "@type">[];
}
interface AggregateOffer {
"@type": "AggregateOffer";
lowPrice: number | string;
priceCurrency: string;
highPrice?: number | string;
offerCount?: number;
offers?: ProductOffer[] | Omit<ProductOffer, "@type">[];
}
interface ProductListItem {
"@type": "ListItem";
position?: number;
name: string;
}
interface ProductItemList {
"@type": "ItemList";
itemListElement: (ProductListItem | Omit<ProductListItem, "@type">)[];
}
interface ProductReview extends Omit<Review, "@type"> {
"@type": "Review";
name?: string;
positiveNotes?: ProductItemList | Omit<ProductItemList, "@type">;
negativeNotes?: ProductItemList | Omit<ProductItemList, "@type">;
}
interface ProductBase {
name: string;
description?: string;
image?: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
sku?: string;
mpn?: string;
gtin?: string;
gtin8?: string;
gtin12?: string;
gtin13?: string;
gtin14?: string;
brand?: string | Brand | Omit<Brand, "@type">;
review?: ProductReview | Omit<ProductReview, "@type"> | (ProductReview | Omit<ProductReview, "@type">)[];
aggregateRating?: AggregateRating | Omit<AggregateRating, "@type">;
offers?: ProductOffer | AggregateOffer | Omit<ProductOffer, "@type"> | Omit<AggregateOffer, "@type"> | (ProductOffer | Omit<ProductOffer, "@type">)[];
category?: string;
color?: string;
material?: string;
model?: string;
productID?: string;
url?: string;
weight?: string | {
"@type"?: "QuantitativeValue";
value?: number;
unitCode?: string;
unitText?: string;
};
width?: string | {
"@type"?: "QuantitativeValue";
value?: number;
unitCode?: string;
unitText?: string;
};
height?: string | {
"@type"?: "QuantitativeValue";
value?: number;
unitCode?: string;
unitText?: string;
};
depth?: string | {
"@type"?: "QuantitativeValue";
value?: number;
unitCode?: string;
unitText?: string;
};
additionalProperty?: {
"@type": "PropertyValue";
name: string;
value: string | number;
}[];
manufacturer?: string | Organization | Person | Omit<Organization, "@type"> | Omit<Person, "@type">;
releaseDate?: string;
productionDate?: string;
purchaseDate?: string;
expirationDate?: string;
award?: string | string[];
hasCertification?: Certification | Omit<Certification, "@type"> | (Certification | Omit<Certification, "@type">)[];
audience?: PeopleAudience | Omit<PeopleAudience, "@type">;
size?: string | SizeSpecification | Omit<SizeSpecification, "@type">;
pattern?: string;
isbn?: string;
subjectOf?: ThreeDModel | Omit<ThreeDModel, "@type">;
isVariantOf?: {
"@id": string;
} | ProductGroup | Omit<ProductGroup, "@type">;
inProductGroupWithID?: string;
}
interface Product extends ProductBase {
"@type": "Product" | ["Product", "Car"];
}
type VariesBy = "https://schema.org/color" | "https://schema.org/size" | "https://schema.org/material" | "https://schema.org/pattern" | "https://schema.org/suggestedAge" | "https://schema.org/suggestedGender" | "color" | "size" | "material" | "pattern" | "suggestedAge" | "suggestedGender";
interface ProductGroup {
"@type": "ProductGroup";
"@id"?: string;
name: string;
description?: string;
url?: string;
image?: string | ImageObject | Omit<ImageObject, "@type"> | (string | ImageObject | Omit<ImageObject, "@type">)[];
brand?: string | Brand | Organization | Omit<Brand, "@type"> | Omit<Organization, "@type">;
review?: ProductReview | Omit<ProductReview, "@type"> | (ProductReview | Omit<ProductReview, "@type">)[];
aggregateRating?: AggregateRating | Omit<AggregateRating, "@type">;
audience?: {
"@type"?: "PeopleAudience";
suggestedGender?: "male" | "female" | "unisex";
suggestedAge?: {
"@type"?: "QuantitativeValue";
minValue?: number;
maxValue?: number;
unitCode?: string;
};
};
productGroupID: string;
variesBy?: VariesBy | VariesBy[];
hasVariant?: (Product | Omit<Product, "@type"> | {
url: string;
} | {
"@type": "Product";
url: string;
})[];
pattern?: string;
material?: string;
category?: string;
}
type ProductJsonLdProps = ((Omit<Product, "@type"> & {
type?: "Product";
isCar?: boolean;
}) | (Omit<ProductGroup, "@type"> & {
type?: "ProductGroup";
})) & {
scriptId?: string;
scriptKey?: string;
};
/**
* HowToSupply - A supply consumed when performing instructions
* @see https://schema.org/HowToSupply
*/
interface HowToSupply {
"@type": "HowToSupply";
name: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
requiredQuantity?: number | string | QuantitativeValue | Omit<QuantitativeValue, "@type">;
estimatedCost?: string | SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
}
/**
* HowToTool - An object used (but not consumed) when performing instructions
* @see https://schema.org/HowToTool
*/
interface HowToTool {
"@type": "HowToTool";
name: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
requiredQuantity?: number | string | QuantitativeValue | Omit<QuantitativeValue, "@type">;
}
/**
* HowToDirection - A direction or instruction within a HowToStep
* @see https://schema.org/HowToDirection
*/
interface HowToDirection {
"@type": "HowToDirection";
text: string;
position?: number;
beforeMedia?: string | ImageObject | Omit<ImageObject, "@type">;
afterMedia?: string | ImageObject | Omit<ImageObject, "@type">;
duringMedia?: string | ImageObject | Omit<ImageObject, "@type">;
}
/**
* HowToTip - A tip or suggestion within a HowToStep
* @see https://schema.org/HowToTip
*/
interface HowToTip {
"@type": "HowToTip";
text: string;
position?: number;
}
/**
* HowToStep - A step in a HowTo guide
* @see https://schema.org/HowToStep
*/
interface HowToStep {
"@type": "HowToStep";
name?: string;
text?: string;
url?: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
position?: number;
itemListElement?: (HowToDirection | HowToTip | Omit<HowToDirection, "@type"> | Omit<HowToTip, "@type">)[];
}
/**
* HowToSection - A section of steps within a HowTo guide
* @see https://schema.org/HowToSection
*/
interface HowToSection {
"@type": "HowToSection";
name: string;
position?: number;
itemListElement: (HowToStep | Omit<HowToStep, "@type">)[];
}
/**
* Step type union - represents all valid step types
*/
type Step = string | HowToStep | HowToSection | Omit<HowToStep, "@type"> | Omit<HowToSection, "@type">;
/**
* Supply type union - flexible input for supplies
*/
type Supply = string | HowToSupply | Omit<HowToSupply, "@type">;
/**
* Tool type union - flexible input for tools
*/
type Tool = string | HowToTool | Omit<HowToTool, "@type">;
/**
* EstimatedCost type union - flexible input for cost
*/
type EstimatedCost = string | SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type">;
/**
* Yield type union - flexible input for yield/result quantity
*/
type HowToYield = string | QuantitativeValue | Omit<QuantitativeValue, "@type">;
/**
* HowTo - Instructions that explain how to achieve a result
* @see https://schema.org/HowTo
*/
interface HowTo {
"@type": "HowTo";
name: string;
description?: string;
image?: string | ImageObject | Omit<ImageObject, "@type">;
estimatedCost?: EstimatedCost;
performTime?: string;
prepTime?: string;
totalTime?: string;
step?: Step | Step[];
supply?: Supply | Supply[];
tool?: Tool | Tool[];
yield?: HowToYield;
video?: VideoObject$1 | Omit<VideoObject$1, "@type">;
}
/**
* Props for the HowToJsonLd component
*/
type HowToJsonLdProps = Omit<HowTo, "@type"> & {
scriptId?: string;
scriptKey?: string;
};
declare function processSchemaType<T extends {
"@type": string;
}>(value: unknown, schemaType: string, stringHandler?: (str: string) => Omit<T, "@type">, numberHandler?: (num: number) => Omit<T, "@type">): T;
/**
* Processes author input into a Person or Organization schema type
* @param author - String name, Person object, or Organization object
* @returns Processed Person or Organization with @type
* @example
* processAuthor("John Doe") // { "@type": "Person", name: "John Doe" }
* processAuthor({ name: "ACME Corp", logo: "logo.jpg" }) // { "@type": "Organization", ... }
*/
declare function processAuthor(author: Author): Person | Organization;
/**
* Processes image input into ImageObject schema type
* @param image - URL string or ImageObject
* @returns URL string or ImageObject with @type
* @example
* processImage("https://example.com/image.jpg") // "https://example.com/image.jpg"
* processImage({ url: "image.jpg", width: 800 }) // { "@type": "ImageObject", ... }
*/
declare function processImage(image: string | ImageObject | Omit<ImageObject, "@type">): string | ImageObject;
/**
* Processes address input into PostalAddress schema type
* @param address - String address or PostalAddress object
* @returns PostalAddress with @type
* @example
* processAddress("123 Main St") // { "@type": "PostalAddress", streetAddress: "123 Main St" }
*/
declare function processAddress(address: string | PostalAddress | Omit<PostalAddress, "@type">): PostalAddress;
/**
* Processes contact point into ContactPoint schema type
* @param contactPoint - ContactPoint object with or without @type
* @returns ContactPoint with @type
*/
declare function processContactPoint(contactPoint: ContactPoint | Omit<ContactPoint, "@type">): ContactPoint;
/**
* Processes logo the same way as images
* @param logo - URL string or ImageObject
* @returns URL string or ImageObject with @type
*/
declare function processLogo(logo: string | ImageObject | Omit<ImageObject, "@type">): string | ImageObject;
/**
* Processes number of employees into QuantitativeValue schema type
* @param numberOfEmployees - Number or QuantitativeValue object
* @returns QuantitativeValue with @type
*/
declare function processNumberOfEmployees(numberOfEmployees: number | QuantitativeValue | Omit<QuantitativeValue, "@type">): QuantitativeValue;
/**
* Processes geographic coordinates into GeoCoordinates schema type
* @param geo - GeoCoordinates object with or without @type
* @returns GeoCoordinates with @type
*/
declare function processGeo(geo: GeoCoordinates | Omit<GeoCoordinates, "@type">): GeoCoordinates;
/**
* Processes opening hours into OpeningHoursSpecification schema type
* @param hours - OpeningHoursSpecification object with or without @type
* @returns OpeningHoursSpecification with @type
*/
declare function processOpeningHours(hours: OpeningHoursSpecification | Omit<OpeningHoursSpecification, "@type">): OpeningHoursSpecification;
/**
* Processes review into Review schema type with nested rating processing
* @param review - Review object with or without @type
* @returns Review with @type and processed nested fields
*/
declare function processReview(review: Review | Omit<Review, "@type">): Review;
/**
* Processes breadcrumb item into ListItem schema type
* @param item - BreadcrumbListItem object
* @param position - Position in the breadcrumb trail
* @returns ListItem with @type and position
*/
declare function processBreadcrumbItem(item: BreadcrumbListItem, position: number): ListItem;
/**
* Processes location/place into Place schema type
* @param location - String location or Place object
* @returns Place with @type
*/
declare function processPlace(location: string | Place$1 | Omit<Place$1, "@type">): Place$1;
/**
* Processes performer into Person or PerformingGroup schema type
* @param performer - String name or Performer object
* @returns Person or PerformingGroup with @type
*/
declare function processPerformer(performer: Performer): Person | PerformingGroup;
/**
* Processes organizer into Person or Organization schema type
* @param organizer - String name or Organizer object
* @returns Person or Organization with @type
*/
declare function processOrganizer(organizer: Organizer): Person | Organization;
/**
* Processes generic organization input into Organization schema type
* @param org - String name or Organization object
* @returns Organization with @type and processed nested fields
*/
declare function processOrganization(org: string | Organization | Omit<Organization, "@type">): Organization;
/**
* Processes offer into Offer schema type
* @param offer - Offer object with or without @type
* @returns Offer with @type
*/
declare function processOffer(offer: Offer | Omit<Offer, "@type">): Offer;
/**
* Processes publisher into Person or Organization schema type
* @param publisher - String name, Person, or Organization object
* @returns Person or Organization with @type and processed nested fields
*/
declare function processPublisher(publisher: string | Organization | Person | Omit<Organization, "@type"> | Omit<Person, "@type">): Person | Organization;
/**
* Processes nutrition information into NutritionInformation schema type
* @param nutrition - NutritionInformation object without @type
* @returns NutritionInformation with @type
*/
declare function processNutrition(nutrition: Omit<NutritionInformation, "@type">): NutritionInformation;
/**
* Processes aggregate rating into AggregateRating schema type
* @param rating - AggregateRating object with or without @type
* @returns AggregateRating with @type
*/
declare function processAggregateRating(rating: AggregateRating | Omit<AggregateRating, "@type">): AggregateRating;
type WebPage = {
"@type": "WebPage";
"@id": string;
};
/**
* Processes main entity of page into string URL or WebPage schema type
* @param mainEntityOfPage - String URL or WebPage object
* @returns String URL or WebPage with @type
*/
declare function processMainEntityOfPage(mainEntityOfPage: string | WebPage | Omit<WebPage, "@type">): string | WebPage;
/**
* Processes simple monetary amount into MonetaryAmount schema type for return policies
* @param amount - SimpleMonetaryAmount object with or without @type, or a number
* @returns SimpleMonetaryAmount with @type or undefined
*/
declare function processSimpleMonetaryAmount(amount: number | SimpleMonetaryAmount | Omit<SimpleMonetaryAmount, "@type"> | undefined): SimpleMonetaryAmount | undefined;
/**
* Processes seasonal override into MerchantReturnPolicySeasonalOverride schema type
* @param override - MerchantReturnPolicySeasonalOverride object with or without @type
* @returns MerchantReturnPolicySeasonalOverride with @type
*/
declare function processReturnPolicySeasonalOverride(override: MerchantReturnPolicySeasonalOverride | Omit<MerchantReturnPolicySeasonalOverride, "@type">): MerchantReturnPolicySeasonalOverride;
/**
* Processes merchant return policy into MerchantReturnPolicy schema type
* Enhanced to handle nested properties like MonetaryAmount and seasonal overrides
* @param policy - MerchantReturnPolicy object with or without @type
* @returns MerchantReturnPolicy with @type and processed nested properties
*/
declare function processMerchantReturnPolicy(policy: MerchantReturnPolicy | Omit<MerchantReturnPolicy, "@type">): MerchantReturnPolicy;
/**
* Processes tier requirement into appropriate schema type
* @param requirement - Tier requirement that can be CreditCard, MonetaryAmount, UnitPriceSpecification, or string
* @returns Processed tier requirement with @type
*/
declare function processTierRequirement(requirement: TierRequirement): TierRequirement;
/**
* Processes tier benefit, normalizing short names to full URLs
* @param benefit - Tier benefit string or array
* @returns Normalized tier benefit
*/
declare function processTierBenefit(benefit: TierBenefit | TierBenefit[]): TierBenefit | TierBenefit[];
/**
* Processes membership points earned into QuantitativeValue
* @param points - Number or QuantitativeValue
* @returns QuantitativeValue with @type
*/
declare function processMembershipPointsEarned(points: number | QuantitativeValue | Omit<QuantitativeValue, "@type">): QuantitativeValue;
/**
* Processes member program tier into MemberProgramTier schema type
* @param tier - MemberProgramTier with or without @type
* @returns MemberProgramTier with @type
*/
declare function processMemberProgramTier(tier: MemberProgramTier | Omit<MemberProgramTier, "@type">): MemberProgramTier;
/**
* Processes member program into MemberProgram schema type
* @param program - MemberProgram with or without @type
* @returns MemberProgram with @type
*/
declare function processMemberProgram(program: MemberProgram | Omit<MemberProgram, "@type">): MemberProgram;
/**
* Processes video into VideoObject schema type
* @param video - VideoObject with or without @type
* @returns VideoObject with @type
*/
declare function processVideo(video: VideoObject$1 | Omit<VideoObject$1, "@type">): VideoObject$1;
/**
* Processes broadcast event into BroadcastEvent schema type
* @param broadcast - BroadcastEvent with or without @type
* @returns BroadcastEvent with @type
*/
declare function processBroadcastEvent(broadcast: BroadcastEvent | Omit<BroadcastEvent, "@type">): BroadcastEvent;
/**
* Processes clip into Clip schema type
* @param clip - Clip with or without @type
* @returns Clip with @type
*/
declare function processClip(clip: Clip | Omit<Clip, "@type">): Clip;
/**
* Processes seek action into SeekToAction schema type
* @param action - SeekToAction with or without @type
* @returns SeekToAction with @type
*/
declare function processSeekToAction(action: PotentialAction | Omit<PotentialAction, "@type">): PotentialAction;
/**
* Processes instruction into string, HowToStep, or HowToSection schema type
* @param instruction - String instruction or HowTo object
* @returns String, HowToStep, or HowToSection with @type
*/
declare function processInstruction(instruction: string | HowToStep$1 | HowToSection$1 | Omit<HowToStep$1, "@type"> | Omit<HowToSection$1, "@type">): string | HowToStep$1 | HowToSection$1;
/**
* Processes director into Person schema type
* @param director - String name or Director object
* @returns Person with @type
*/
declare function processDirector(director: Director): Person;
/**
* Processes creator(s) into Person or Organization schema type(s)
* @param creator - Author or array of Authors
* @returns Person/Organization or array of them with @type
*/
declare function processCreator(creator: Author | Author[]): Person | Organization | (Person | Organization)[];
/**
* Processes identifier into string or PropertyValue schema type
* @param identifier - String identifier or PropertyValue object
* @returns String or PropertyValue with @type
*/
declare function processIdentifier(identifier: string | PropertyValue$1 | Omit<PropertyValue$1, "@type">): string | PropertyValue$1;
/**
* Processes spatial coverage into string or Place schema type
* @param spatial - String location or DatasetPlace object
* @returns String or DatasetPlace with @type and processed geo
*/
declare function processSpatialCoverage(spatial: string | DatasetPlace | Omit<DatasetPlace, "@type">): string | DatasetPlace;
/**
* Processes data download into DataDownload schema type
* @param download - DataDownload object with or without @type
* @returns DataDownload with @type
*/
declare function processDataDownload(download: DataDownload | Omit<DataDownload, "@type">): DataDownload;
/**
* Processes license into string URL or CreativeWork schema type
* @param license - String URL or CreativeWork object
* @returns String URL or CreativeWork with @type
*/
declare function processLicense(license: string | CreativeWork$1 | Omit<CreativeWork$1, "@type">): string | CreativeWork$1;
/**
* Processes data catalog into DataCatalog schema type
* @param catalog - DataCatalog object with or without @type
* @returns DataCatalog with @type
*/
declare function processDataCatalog(catalog: DataCatalog | Omit<DataCatalog, "@type">): DataCatalog;
/**
* Processes hiring organization into Organization schema type
* @param org - String name or Organization object
* @returns Organization with @type and processed logo
*/
declare function processHiringOrganization(org: string | Organization | Omit<Organization, "@type">): Organization;
/**
* Processes job location into Place schema type
* @param location - String location or JobPlace object
* @returns JobPlace with @type and processed address
*/
declare function processJobLocation(location: string | Place | Omit<Place, "@type">): Place;
/**
* Processes monetary amount into MonetaryAmount schema type
* @param amount - MonetaryAmount object with or without @type
* @returns MonetaryAmount with @type and processed value
*/
declare function processMonetaryAmount(amount: MonetaryAmount | Omit<MonetaryAmount, "@ty