import type { ExtractionEdge, ExtractionNode } from '../../../contracts/types.js'; type StructuredTextFileType = 'document' | 'paper'; interface ExtractionFragment { nodes: ExtractionNode[]; edges: ExtractionEdge[]; } interface PendingReferenceCitation { sourceId: string; lineNumber: number; referenceIndices: number[]; } interface MarkdownHeading { level: number; text: string; consumedLines: number; } interface ReferenceEntry { rawIndex: string; referenceIndex: number; summary: string; } export interface DocumentExtractionHelpers { createFileNode(filePath: string, fileType: StructuredTextFileType): ExtractionNode; createBinaryMetadataAwareFileNode(filePath: string, fileType: 'document'): ExtractionNode; finalizeNonCodeFragment(fragment: ExtractionFragment): ExtractionFragment; addNode(nodes: ExtractionNode[], seenIds: Set, node: ExtractionNode): void; addEdge(edges: ExtractionEdge[], edge: ExtractionEdge): void; createNode(id: string, label: string, filePath: string, line: number, fileType?: ExtractionNode['file_type']): ExtractionNode; createEdge(source: string, target: string, relation: string, filePath: string, line: number): ExtractionEdge; normalizeLabel(value: string): string; sectionNodeId(filePath: string, label: string, line: number): string; parseStructuredTextFrontmatter(lines: string[]): { metadata: Record; contentStartIndex: number; }; parseMarkdownHeading(lines: string[], index: number): MarkdownHeading | null; addLocalReferenceEdges(edges: ExtractionEdge[], line: string, filePath: string, sourceId: string, lineNumber: number, allowedTargets: ReadonlySet, seenEdges?: Set): void; addMentionReferenceEdges(edges: ExtractionEdge[], line: string, filePath: string, sourceId: string, lineNumber: number, allowedTargets: ReadonlySet, seenEdges?: Set): void; parseNumberedReferenceEntry(text: string): ReferenceEntry | null; addReferenceNodeFromText(nodes: ExtractionNode[], edges: ExtractionEdge[], seenIds: Set, seenEdges: Set, text: string, filePath: string, lineNumber: number, containerId: string): string | null; addCitationEdgesFromText(nodes: ExtractionNode[], edges: ExtractionEdge[], seenIds: Set, seenEdges: Set, text: string, sourceId: string, filePath: string, lineNumber: number): void; addInlineReferenceCitationEdgesFromText(edges: ExtractionEdge[], seenEdges: Set, text: string, sourceId: string, filePath: string, lineNumber: number, referenceNodeIdsByIndex: ReadonlyMap, pendingReferenceCitations: PendingReferenceCitation[]): void; flushPendingReferenceCitations(edges: ExtractionEdge[], seenEdges: Set, filePath: string, referenceNodeIdsByIndex: ReadonlyMap, pendingReferenceCitations: readonly PendingReferenceCitation[]): void; } export declare function decodeXmlText(text: string): string; export declare function extractStructuredText(filePath: string, fileType: StructuredTextFileType, allowedTargets: ReadonlySet, helpers: DocumentExtractionHelpers): ExtractionFragment; export declare function extractDocxParagraphText(paragraphXml: string): string; export declare function extractDocxDocument(filePath: string, allowedTargets: ReadonlySet, helpers: DocumentExtractionHelpers): ExtractionFragment; export declare function extractCompareBaselineDocxText(filePath: string): string; export declare function extractXlsxDocument(filePath: string, allowedTargets: ReadonlySet, helpers: DocumentExtractionHelpers): ExtractionFragment; export declare function extractCompareBaselineXlsxText(filePath: string): string; export {};