/** * Trove (National Library of Australia) Type Definitions */ export type TroveCategory = 'all' | 'newspaper' | 'gazette' | 'magazine' | 'image' | 'research' | 'book' | 'diary' | 'music' | 'people' | 'list'; export type TroveState = 'vic' | 'nsw' | 'qld' | 'sa' | 'wa' | 'tas' | 'nt' | 'act' | 'national'; export declare const TROVE_CATEGORIES: TroveCategory[]; export declare const TROVE_STATES: TroveState[]; export declare const STATE_TO_FULL_NAME: Record; export type TroveSortBy = 'relevance' | 'datedesc' | 'dateasc'; export type TroveAvailability = 'y' | 'y/f' | 'y/r' | 'y/s'; export type TroveRecLevel = 'brief' | 'full'; export type TroveIncludeOption = 'holdings' | 'links' | 'workversions' | 'subscribinglibs' | 'articletext' | 'listitems' | 'years'; /** * Available facet fields for Trove search. * * Category applicability: * - `decade`, `year`, `language`, `availability`: All categories * - `state`, `category`: Newspaper only * - `format`, `audience`, `nuc`, `partnerNuc`: Non-newspaper categories (magazine, image, research, book, diary, music) * * Note: `partnerNuc` and `nuc` facets don't apply to newspaper/gazette - these are NLA-digitised content. */ export type TroveFacetField = 'decade' | 'year' | 'state' | 'format' | 'category' | 'audience' | 'language' | 'availability' | 'nuc' | 'partnerNuc'; export declare const TROVE_FACET_FIELDS: TroveFacetField[]; export interface TroveSearchParams { query: string; category?: TroveCategory | TroveCategory[]; state?: TroveState; dateFrom?: string; dateTo?: string; limit?: number; start?: string; bulkHarvest?: boolean; includeFullText?: boolean; format?: string; facets?: string[]; includeFacets?: boolean; facetFields?: TroveFacetField[]; nuc?: string; illustrated?: 'Y' | 'N'; sortby?: TroveSortBy; decade?: string; language?: string; availability?: TroveAvailability; australian?: boolean; wordCount?: string; artType?: string; geocoverage?: string; contribcollection?: string; firstAustralians?: boolean; austlanguage?: string; creator?: string; subject?: string; isbn?: string; issn?: string; identifier?: string; anbdid?: string; lastupdated?: string; rights?: string; placeOfPublication?: string; geographicCoverage?: string; fullTextInd?: boolean; imageInd?: boolean; includeHoldings?: boolean; includeLinks?: boolean; illustrationTypes?: string[]; articleCategory?: string; includeTags?: boolean; includeComments?: boolean; hasTags?: boolean; hasComments?: boolean; fullTextAvailable?: boolean; hasThumbnail?: boolean; year?: string; month?: number; series?: string; journalTitle?: string; } export interface TroveComment { by: string; text: string; } export interface TroveArticle { id: string; heading: string; title: string; titleId: string; date: string; page: string; category: string; snippet?: string; fullText?: string; troveUrl: string; pdfUrl?: string; wordCount?: number; correctionCount?: number; illustrated?: boolean; tags?: string[]; comments?: TroveComment[]; } export interface TroveWork { id: string; title: string; contributor?: string; issued?: string; type: string[]; holdingsCount?: number; versionCount?: number; troveUrl: string; thumbnailUrl?: string; abstract?: string; subjects?: string[]; tags?: string[]; comments?: TroveComment[]; } export interface TroveFacetValue { display: string; count: number; } export interface TroveFacet { name: string; displayname: string; term: TroveFacetValue[]; } export interface TroveSearchResult { query: string; category: string; totalResults: number; nextStart?: string; records: (TroveArticle | TroveWork)[]; facets?: TroveFacet[]; } export interface TroveNewspaperTitle { id: string; title: string; state: string; issn?: string; startDate: string; endDate: string; troveUrl: string; } export interface TroveTitleDetail extends TroveNewspaperTitle { years?: { year: string; issueCount: number; }[]; issues?: { id: string; date: string; url: string; }[]; } export interface TroveArticleDetail { id: string; heading: string; title: string; titleId: string; date: string; page: string; pageSequence?: number; category: string; troveUrl: string; pdfUrl?: string; fullText?: string; wordCount?: number; correctionCount?: number; tagCount?: number; commentCount?: number; illustrated?: boolean; lastCorrected?: string; } export interface TroveContributor { nuc: string; name: string; shortname?: string; url?: string; address?: string; email?: string; phone?: string; fax?: string; catalogue?: string; totalHoldings?: number; } export interface TroveMagazineTitle { id: string; title: string; publisher?: string; startDate?: string; endDate?: string; issn?: string; troveUrl: string; } export type TroveLinkType = 'fulltext' | 'restricted' | 'subscription' | 'unknown' | 'notonline' | 'thumbnail' | 'viewcopy'; export interface TroveHolding { nuc: string; name?: string; url?: string; callNumber?: string; localIdentifier?: string; } export interface TroveLink { url: string; linktype: TroveLinkType; linktext?: string; } export interface TroveVersion { id: string; type: string[]; issued?: string; holdingsCount: number; holdings?: TroveHolding[]; links?: TroveLink[]; } export interface TroveWorkDetail { id: string; title: string; contributor?: string; issued?: string; type: string[]; subjects?: string[]; abstract?: string; tableOfContents?: string; language?: string; wikipedia?: string; holdingsCount: number; versionCount: number; troveUrl: string; thumbnailUrl?: string; identifier?: string; holdings?: TroveHolding[]; links?: TroveLink[]; versions?: TroveVersion[]; } export type TrovePersonType = 'Person' | 'Organisation' | 'Family'; export interface TrovePerson { id: string; type: TrovePersonType; primaryName: string; primaryDisplayName?: string; alternateName?: string[]; alternateDisplayName?: string[]; title?: string; occupation?: string[]; biography?: string; contributor?: string; thumbnailUrl?: string; troveUrl: string; } export interface TrovePersonSearchResult { query: string; totalResults: number; nextStart?: string; records: TrovePerson[]; } export interface TroveListItem { note?: string; work?: TroveWork; article?: TroveArticle; people?: { id: string; troveUrl: string; }; externalWebsite?: { title: string; url: string; }; } export interface TroveList { id: string; title: string; creator: string; description?: string; listItemCount: number; thumbnailUrl?: string; dateCreated?: string; dateLastUpdated?: string; troveUrl: string; items?: TroveListItem[]; } export interface TroveMagazineIssue { id: string; date: string; url: string; } export interface TroveMagazineYear { year: string; issueCount: number; issues?: TroveMagazineIssue[]; } export interface TroveMagazineTitleDetail { id: string; title: string; publisher?: string; place?: string; issn?: string; startDate?: string; endDate?: string; troveUrl: string; years?: TroveMagazineYear[]; } //# sourceMappingURL=types.d.ts.map