import type { CslItem } from "./csl-json/types"; /** * Options for creating a Reference */ export interface ReferenceCreateOptions { /** Existing IDs to check for collision */ existingIds?: Set; } /** * Reference entity wrapping a CSL-JSON item */ export declare class Reference { private item; private uuid; constructor(item: CslItem); /** * Factory method to create a Reference with UUID and ID generation */ static create(item: CslItem, options?: ReferenceCreateOptions): Reference; /** * Get the underlying CSL-JSON item */ getItem(): CslItem; /** * Get the UUID (internal stable identifier) */ getUuid(): string; /** * Get the ID (Pandoc citation key / BibTeX-key) */ getId(): string; /** * Get the title */ getTitle(): string | undefined; /** * Get the authors */ getAuthors(): CslItem["author"]; /** * Get the year from issued date */ getYear(): number | undefined; /** * Get the DOI */ getDoi(): string | undefined; /** * Get the PMID */ getPmid(): string | undefined; getIsbn(): string | undefined; /** * Get the PMCID */ getPmcid(): string | undefined; /** * Get the URL */ getUrl(): string | undefined; /** * Get the keyword */ getKeyword(): string[] | undefined; /** * Get additional URLs from custom metadata */ getAdditionalUrls(): string[] | undefined; /** * Get the creation timestamp from custom metadata (immutable) */ getCreatedAt(): string; /** * Get the last modification timestamp from custom metadata */ getTimestamp(): string; /** * Update the timestamp to current time * Call this whenever the reference is modified */ touch(): void; /** * Get the type */ getType(): string; } //# sourceMappingURL=reference.d.ts.map