import { Template } from "../metadata-types.js";
//#region src/lib/templates/codemeta-json.d.ts
type TemplateDataCodemetaJson = ReturnType<typeof codemetaJson>;
/**
 * A JSON-friendly derivation of the `codemeta` template.
 * Produces the same aggregated metadata but parses it through a strict
 * schema,stripping JSON-LD artifacts (like `@context` and `@type`) to yield
 * plain JSON suitable for consumption by tools that don't care to understand
 * JSON-LD.
 *
 * This template also provides a handy baseline normalization abstraction for
 * the other templates.
 */
declare const codemetaJson: Template<{
  applicationCategory?: string | undefined;
  applicationSubCategory?: string | undefined;
  author?: {
    affiliation?: string | undefined;
    email?: string | undefined;
    familyName?: string | undefined;
    givenName?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    type?: "Organization" | "Person" | undefined;
    url?: string | undefined;
  }[] | undefined;
  buildInstructions?: string | undefined;
  codeRepository?: string | undefined;
  continuousIntegration?: string | undefined;
  contributor?: {
    affiliation?: string | undefined;
    email?: string | undefined;
    familyName?: string | undefined;
    givenName?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    type?: "Organization" | "Person" | undefined;
    url?: string | undefined;
  }[] | undefined;
  copyrightHolder?: {
    affiliation?: string | undefined;
    email?: string | undefined;
    familyName?: string | undefined;
    givenName?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    type?: "Organization" | "Person" | undefined;
    url?: string | undefined;
  }[] | undefined;
  copyrightYear?: number | undefined;
  dateCreated?: string | undefined;
  dateModified?: string | undefined;
  datePublished?: string | undefined;
  description?: string | undefined;
  developmentStatus?: string | undefined;
  downloadUrl?: string | undefined;
  funder?: {
    affiliation?: string | undefined;
    email?: string | undefined;
    familyName?: string | undefined;
    givenName?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    type?: "Organization" | "Person" | undefined;
    url?: string | undefined;
  }[] | undefined;
  funding?: string | undefined;
  identifier?: string | undefined;
  installUrl?: string | undefined;
  isAccessibleForFree?: boolean | undefined;
  issueTracker?: string | undefined;
  keywords?: string[] | undefined;
  license?: string | string[] | undefined;
  maintainer?: {
    affiliation?: string | undefined;
    email?: string | undefined;
    familyName?: string | undefined;
    givenName?: string | undefined;
    id?: string | undefined;
    name?: string | undefined;
    type?: "Organization" | "Person" | undefined;
    url?: string | undefined;
  }[] | undefined;
  name?: string | undefined;
  operatingSystem?: string[] | undefined;
  programmingLanguage?: string[] | undefined;
  readme?: string | undefined;
  relatedLink?: string | string[] | undefined;
  releaseNotes?: string | undefined;
  runtimePlatform?: string[] | undefined;
  softwareHelp?: string | undefined;
  softwareRequirements?: {
    identifier?: string | undefined;
    name?: string | undefined;
    runtimePlatform?: string | undefined;
    version?: string | undefined;
  }[] | undefined;
  softwareSuggestions?: {
    identifier?: string | undefined;
    name?: string | undefined;
    runtimePlatform?: string | undefined;
    version?: string | undefined;
  }[] | undefined;
  softwareVersion?: string | undefined;
  url?: string | undefined;
  version?: string | undefined;
}>;
//#endregion
export { TemplateDataCodemetaJson };