jobPosting.d.ts 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /// <reference types="react" />
  2. import { JsonLdProps } from './jsonld';
  3. export interface HiringOrganization {
  4. name: string;
  5. sameAs: string;
  6. logo?: string;
  7. }
  8. export interface Place {
  9. addressLocality: string;
  10. addressRegion: string;
  11. postalCode: string;
  12. streetAddress: string;
  13. addressCountry: string;
  14. }
  15. export interface MonetaryAmount {
  16. currency: string;
  17. value: number | [number, number];
  18. unitText: UnitTextType;
  19. }
  20. export declare type UnitTextType = 'HOUR' | 'DAY' | 'WEEK' | 'MONTH' | 'YEAR';
  21. export declare type EmploymentType = 'FULL_TIME' | 'PART_TIME' | 'CONTRACTOR' | 'TEMPORARY' | 'INTERN' | 'VOLUNTEER' | 'PER_DIEM' | 'OTHER';
  22. export declare type OccupationalExperienceRequirements = {
  23. '@type'?: 'OccupationalExperienceRequirements' | 'no requirements' | string;
  24. minimumMonthsOfExperience: number;
  25. };
  26. export declare type EducationalOccupationalCredential = {
  27. '@type'?: 'EducationalOccupationalCredential' | string;
  28. credentialCategory: 'high school' | 'associate degree' | 'bachelor degree' | 'professional certificate' | 'postgraduate degree';
  29. };
  30. export declare type ExperienceRequirements = {
  31. occupational?: OccupationalExperienceRequirements;
  32. educational?: EducationalOccupationalCredential;
  33. experienceInPlaceOfEducation?: boolean;
  34. };
  35. export interface JobPostingJsonLdProps extends JsonLdProps {
  36. keyOverride?: string;
  37. datePosted: string;
  38. description: string;
  39. hiringOrganization: HiringOrganization;
  40. title: string;
  41. validThrough?: string;
  42. applicantLocationRequirements?: string;
  43. baseSalary?: MonetaryAmount;
  44. employmentType?: EmploymentType | EmploymentType[];
  45. jobLocation?: Place;
  46. jobLocationType?: string;
  47. experienceRequirements?: ExperienceRequirements;
  48. }
  49. declare function JobPostingJsonLd({ type, keyOverride, baseSalary, hiringOrganization, applicantLocationRequirements, experienceRequirements, jobLocation, ...rest }: JobPostingJsonLdProps): JSX.Element;
  50. export default JobPostingJsonLd;