import { InlineAnchor } from '../types/base.js'; import { TextTarget } from '../types/address.js'; import { AdapterMutationFailure } from '../types/adapter-result.js'; import { DiscoveryOutput } from '../types/discovery.js'; import { TocCreateLocation } from '../toc/toc.types.js'; export interface CitationAddress { kind: 'inline'; nodeType: 'citation'; anchor: InlineAnchor; } export interface CitationSourceAddress { kind: 'entity'; entityType: 'citationSource'; sourceId: string; } export interface BibliographyAddress { kind: 'block'; nodeType: 'bibliography'; nodeId: string; } export type CitationSourceType = 'book' | 'journalArticle' | 'conferenceProceedings' | 'report' | 'website' | 'patent' | 'case' | 'statute' | 'thesis' | 'film' | 'interview' | 'misc'; export interface CitationPerson { first?: string; middle?: string; last: string; } /** Fields follow the OOXML bibliography schema (Sources.xsd). */ export interface CitationSourceFields { title?: string; authors?: CitationPerson[]; year?: string; publisher?: string; city?: string; journalName?: string; volume?: string; issue?: string; pages?: string; url?: string; doi?: string; edition?: string; editor?: CitationPerson[]; translator?: CitationPerson[]; medium?: string; shortTitle?: string; standardNumber?: string; } export interface CitationListInput { limit?: number; offset?: number; } export interface CitationGetInput { target: CitationAddress; } export interface CitationRemoveInput { target: CitationAddress; } export interface CitationInsertInput { at: TextTarget; sourceIds: string[]; } export interface CitationUpdateInput { target: CitationAddress; patch: { sourceIds?: string[]; }; } export interface CitationInfo { address: CitationAddress; sourceIds: string[]; displayText: string; instruction: string; } export interface CitationDomain { address: CitationAddress; sourceIds: string[]; displayText: string; instruction: string; } export interface CitationSourceListInput { type?: CitationSourceType; limit?: number; offset?: number; } export interface CitationSourceGetInput { target: CitationSourceAddress; } export interface CitationSourceRemoveInput { target: CitationSourceAddress; } export interface CitationSourceInsertInput { type: CitationSourceType; fields: CitationSourceFields; } export interface CitationSourceUpdateInput { target: CitationSourceAddress; patch: Partial; } export interface CitationSourceInfo { address: CitationSourceAddress; sourceId: string; tag: string; type: CitationSourceType; fields: CitationSourceFields; } export interface CitationSourceDomain { address: CitationSourceAddress; sourceId: string; tag: string; type: CitationSourceType; fields: CitationSourceFields; } export interface BibliographyInsertInput { at: TocCreateLocation; style?: string; } export interface BibliographyRebuildInput { target: BibliographyAddress; } export interface BibliographyConfigureInput { target: BibliographyAddress; style: string; } export interface BibliographyRemoveInput { target: BibliographyAddress; } export interface BibliographyGetInput { target: BibliographyAddress; } export interface BibliographyInfo { address: BibliographyAddress; style: string; sourceCount: number; instruction: string; } export interface CitationMutationSuccess { success: true; citation: CitationAddress; } export type CitationMutationResult = CitationMutationSuccess | AdapterMutationFailure; export interface CitationSourceMutationSuccess { success: true; source: CitationSourceAddress; } export type CitationSourceMutationResult = CitationSourceMutationSuccess | AdapterMutationFailure; export interface BibliographyMutationSuccess { success: true; bibliography: BibliographyAddress; } export type BibliographyMutationResult = BibliographyMutationSuccess | AdapterMutationFailure; export type CitationsListResult = DiscoveryOutput; export type CitationSourcesListResult = DiscoveryOutput; //# sourceMappingURL=citations.types.d.ts.map