use crate::*;
use serde_with::{serde_as, OneOrMany};
pub type WPSideBarDateModifiedFieldEnum = String;
pub type WPSideBarEncodingFormatFieldEnum = String;
pub type WPSideBarEditEIDRFieldEnum = String;
pub type WPSideBarDatePublishedFieldEnum = String;
pub type WPSideBarTemporalFieldEnum = String;
pub type WPSideBarDateCreatedFieldEnum = String;
pub type WPSideBarFileFormatFieldEnum = String;
pub type WPSideBarExpiresFieldEnum = String;
pub type WPSideBarTemporalCoverageFieldEnum = String;
pub type WPSideBarSchemaVersionFieldEnum = String;
pub type WPSideBarGenreFieldEnum = String;
pub type WPSideBarAdditionalTypeFieldEnum = String;
#[serde_as]
#[derive(Debug, serde::Deserialize)]
#[cfg_attr(feature = "uniffi", derive(uniffi::Record))]
pub struct WPSideBar {
#[serde(rename = "@context")]
pub context: String,
#[serde(rename = "xpath")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub xpath: Vec<String>,
#[serde(rename = "cssSelector")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub css_selector: Vec<String>,
#[serde(rename = "provider")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub provider: Vec<WPSideBarProviderFieldEnum>,
#[serde(rename = "aggregateRating")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub aggregate_rating: Vec<AggregateRating>,
#[serde(rename = "citation")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub citation: Vec<WPSideBarCitationFieldEnum>,
#[serde(rename = "locationCreated")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub location_created: Vec<Place>,
#[serde(rename = "sdPublisher")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub sd_publisher: Vec<WPSideBarSdPublisherFieldEnum>,
#[serde(rename = "thumbnail")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub thumbnail: Vec<ImageObject>,
#[serde(rename = "accessModeSufficient")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub access_mode_sufficient: Vec<ItemList>,
#[serde(rename = "publishingPrinciples")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub publishing_principles: Vec<WPSideBarPublishingPrinciplesFieldEnum>,
#[serde(rename = "inLanguage")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub in_language: Vec<WPSideBarInLanguageFieldEnum>,
#[serde(rename = "abstract")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub _abstract: Vec<String>,
#[serde(rename = "countryOfOrigin")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub country_of_origin: Vec<Country>,
#[serde(rename = "contentLocation")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub content_location: Vec<Place>,
#[serde(rename = "dateModified")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub date_modified: Vec<WPSideBarDateModifiedFieldEnum>,
#[serde(rename = "usageInfo")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub usage_info: Vec<WPSideBarUsageInfoFieldEnum>,
#[serde(rename = "sdDatePublished")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub sd_date_published: Vec<String>,
#[serde(rename = "archivedAt")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub archived_at: Vec<WPSideBarArchivedAtFieldEnum>,
#[serde(rename = "workTranslation")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub work_translation: Vec<CreativeWork>,
#[serde(rename = "sdLicense")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub sd_license: Vec<WPSideBarSdLicenseFieldEnum>,
#[serde(rename = "educationalAlignment")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub educational_alignment: Vec<AlignmentObject>,
#[serde(rename = "editor")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub editor: Vec<Person>,
#[serde(rename = "license")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub license: Vec<WPSideBarLicenseFieldEnum>,
#[serde(rename = "maintainer")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub maintainer: Vec<WPSideBarMaintainerFieldEnum>,
#[serde(rename = "sourceOrganization")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub source_organization: Vec<Organization>,
#[serde(rename = "reviews")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub reviews: Vec<Review>,
#[serde(rename = "accessibilityHazard")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accessibility_hazard: Vec<String>,
#[serde(rename = "workExample")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub work_example: Vec<CreativeWork>,
#[serde(rename = "pattern")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub pattern: Vec<WPSideBarPatternFieldEnum>,
#[serde(rename = "offers")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub offers: Vec<WPSideBarOffersFieldEnum>,
#[serde(rename = "hasPart")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub has_part: Vec<CreativeWork>,
#[serde(rename = "keywords")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub keywords: Vec<WPSideBarKeywordsFieldEnum>,
#[serde(rename = "exampleOfWork")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub example_of_work: Vec<CreativeWork>,
#[serde(rename = "copyrightNotice")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub copyright_notice: Vec<String>,
#[serde(rename = "encodingFormat")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub encoding_format: Vec<WPSideBarEncodingFormatFieldEnum>,
#[serde(rename = "mainEntity")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub main_entity: Vec<Thing>,
#[serde(rename = "editEIDR")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub edit_eidr: Vec<WPSideBarEditEIDRFieldEnum>,
#[serde(rename = "copyrightYear")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub copyright_year: Vec<f32>,
#[serde(rename = "about")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub about: Vec<Thing>,
#[serde(rename = "datePublished")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub date_published: Vec<WPSideBarDatePublishedFieldEnum>,
#[serde(rename = "educationalLevel")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub educational_level: Vec<WPSideBarEducationalLevelFieldEnum>,
#[serde(rename = "accessibilityFeature")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accessibility_feature: Vec<String>,
#[serde(rename = "materialExtent")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub material_extent: Vec<WPSideBarMaterialExtentFieldEnum>,
#[serde(rename = "video")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub video: Vec<WPSideBarVideoFieldEnum>,
#[serde(rename = "funding")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub funding: Vec<Grant>,
#[serde(rename = "headline")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub headline: Vec<String>,
#[serde(rename = "digitalSourceType")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub digital_source_type: Vec<IPTCDigitalSourceEnumerationEnum>,
#[serde(rename = "learningResourceType")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub learning_resource_type: Vec<WPSideBarLearningResourceTypeFieldEnum>,
#[serde(rename = "alternativeHeadline")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub alternative_headline: Vec<String>,
#[serde(rename = "temporal")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub temporal: Vec<WPSideBarTemporalFieldEnum>,
#[serde(rename = "isBasedOnUrl")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub is_based_on_url: Vec<WPSideBarIsBasedOnUrlFieldEnum>,
#[serde(rename = "associatedMedia")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub associated_media: Vec<MediaObject>,
#[serde(rename = "commentCount")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub comment_count: Vec<i32>,
#[serde(rename = "dateCreated")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub date_created: Vec<WPSideBarDateCreatedFieldEnum>,
#[serde(rename = "fileFormat")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub file_format: Vec<WPSideBarFileFormatFieldEnum>,
#[serde(rename = "teaches")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub teaches: Vec<WPSideBarTeachesFieldEnum>,
#[serde(rename = "accessibilityControl")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accessibility_control: Vec<String>,
#[serde(rename = "isPartOf")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub is_part_of: Vec<WPSideBarIsPartOfFieldEnum>,
#[serde(rename = "accessibilityAPI")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accessibility_api: Vec<String>,
#[serde(rename = "contentReferenceTime")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub content_reference_time: Vec<String>,
#[serde(rename = "isBasedOn")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub is_based_on: Vec<WPSideBarIsBasedOnFieldEnum>,
#[serde(rename = "creativeWorkStatus")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub creative_work_status: Vec<WPSideBarCreativeWorkStatusFieldEnum>,
#[serde(rename = "award")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub award: Vec<String>,
#[serde(rename = "educationalUse")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub educational_use: Vec<WPSideBarEducationalUseFieldEnum>,
#[serde(rename = "isFamilyFriendly")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub is_family_friendly: Vec<String>,
#[serde(rename = "interactivityType")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub interactivity_type: Vec<String>,
#[serde(rename = "publication")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub publication: Vec<PublicationEvent>,
#[serde(rename = "accountablePerson")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accountable_person: Vec<Person>,
#[serde(rename = "version")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub version: Vec<WPSideBarVersionFieldEnum>,
#[serde(rename = "expires")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub expires: Vec<WPSideBarExpiresFieldEnum>,
#[serde(rename = "awards")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub awards: Vec<String>,
#[serde(rename = "text")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub text: Vec<String>,
#[serde(rename = "producer")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub producer: Vec<WPSideBarProducerFieldEnum>,
#[serde(rename = "thumbnailUrl")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub thumbnail_url: Vec<String>,
#[serde(rename = "copyrightHolder")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub copyright_holder: Vec<WPSideBarCopyrightHolderFieldEnum>,
#[serde(rename = "wordCount")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub word_count: Vec<i32>,
#[serde(rename = "recordedAt")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub recorded_at: Vec<Event>,
#[serde(rename = "audience")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub audience: Vec<Audience>,
#[serde(rename = "spatial")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub spatial: Vec<Place>,
#[serde(rename = "interpretedAsClaim")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub interpreted_as_claim: Vec<Claim>,
#[serde(rename = "creditText")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub credit_text: Vec<String>,
#[serde(rename = "material")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub material: Vec<WPSideBarMaterialFieldEnum>,
#[serde(rename = "translator")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub translator: Vec<WPSideBarTranslatorFieldEnum>,
#[serde(rename = "character")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub character: Vec<Person>,
#[serde(rename = "funder")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub funder: Vec<WPSideBarFunderFieldEnum>,
#[serde(rename = "encodings")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub encodings: Vec<MediaObject>,
#[serde(rename = "contributor")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub contributor: Vec<WPSideBarContributorFieldEnum>,
#[serde(rename = "position")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub position: Vec<WPSideBarPositionFieldEnum>,
#[serde(rename = "conditionsOfAccess")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub conditions_of_access: Vec<String>,
#[serde(rename = "review")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub review: Vec<Review>,
#[serde(rename = "temporalCoverage")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub temporal_coverage: Vec<WPSideBarTemporalCoverageFieldEnum>,
#[serde(rename = "mentions")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub mentions: Vec<Thing>,
#[serde(rename = "interactionStatistic")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub interaction_statistic: Vec<InteractionCounter>,
#[serde(rename = "schemaVersion")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub schema_version: Vec<WPSideBarSchemaVersionFieldEnum>,
#[serde(rename = "acquireLicensePage")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub acquire_license_page: Vec<WPSideBarAcquireLicensePageFieldEnum>,
#[serde(rename = "sponsor")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub sponsor: Vec<WPSideBarSponsorFieldEnum>,
#[serde(rename = "publisher")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub publisher: Vec<WPSideBarPublisherFieldEnum>,
#[serde(rename = "assesses")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub assesses: Vec<WPSideBarAssessesFieldEnum>,
#[serde(rename = "spatialCoverage")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub spatial_coverage: Vec<Place>,
#[serde(rename = "size")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub size: Vec<WPSideBarSizeFieldEnum>,
#[serde(rename = "contentRating")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub content_rating: Vec<WPSideBarContentRatingFieldEnum>,
#[serde(rename = "accessMode")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub access_mode: Vec<String>,
#[serde(rename = "creator")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub creator: Vec<WPSideBarCreatorFieldEnum>,
#[serde(rename = "releasedEvent")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub released_event: Vec<PublicationEvent>,
#[serde(rename = "accessibilitySummary")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub accessibility_summary: Vec<String>,
#[serde(rename = "translationOfWork")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub translation_of_work: Vec<CreativeWork>,
#[serde(rename = "publisherImprint")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub publisher_imprint: Vec<Organization>,
#[serde(rename = "typicalAgeRange")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub typical_age_range: Vec<String>,
#[serde(rename = "comment")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub comment: Vec<Comment>,
#[serde(rename = "encoding")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub encoding: Vec<MediaObject>,
#[serde(rename = "discussionUrl")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub discussion_url: Vec<String>,
#[serde(rename = "timeRequired")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub time_required: Vec<Duration>,
#[serde(rename = "isAccessibleForFree")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub is_accessible_for_free: Vec<String>,
#[serde(rename = "audio")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub audio: Vec<WPSideBarAudioFieldEnum>,
#[serde(rename = "correction")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub correction: Vec<WPSideBarCorrectionFieldEnum>,
#[serde(rename = "author")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub author: Vec<WPSideBarAuthorFieldEnum>,
#[serde(rename = "genre")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub genre: Vec<WPSideBarGenreFieldEnum>,
#[serde(rename = "name")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub name: Vec<String>,
#[serde(rename = "mainEntityOfPage")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub main_entity_of_page: Vec<WPSideBarMainEntityOfPageFieldEnum>,
#[serde(rename = "url")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub url: Vec<String>,
#[serde(rename = "disambiguatingDescription")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub disambiguating_description: Vec<String>,
#[serde(rename = "identifier")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub identifier: Vec<WPSideBarIdentifierFieldEnum>,
#[serde(rename = "description")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub description: Vec<WPSideBarDescriptionFieldEnum>,
#[serde(rename = "subjectOf")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub subject_of: Vec<WPSideBarSubjectOfFieldEnum>,
#[serde(rename = "alternateName")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub alternate_name: Vec<String>,
#[serde(rename = "additionalType")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub additional_type: Vec<WPSideBarAdditionalTypeFieldEnum>,
#[serde(rename = "potentialAction")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub potential_action: Vec<Action>,
#[serde(rename = "sameAs")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub same_as: Vec<String>,
#[serde(rename = "image")]
#[serde_as(as = "OneOrMany<_>")]
#[serde(default)]
pub image: Vec<WPSideBarImageFieldEnum>,
}