import type { LocatorScheme, ProvenanceResolution, RawSource } from "./types.js"; export type ChecksumInput = string | { algorithm?: string; value: string; }; export interface RawSourceInput { id?: string; sourceRef: string; observedAt: string; resolution?: ProvenanceResolution; fetchedAt?: string; checksum?: ChecksumInput; locatorScheme: LocatorScheme; metadata?: Record; } export interface UploadedDocumentSourceInput extends RawSourceInput { locatorScheme: LocatorScheme; } export interface ApiRecordSourceInput extends Omit { locatorScheme?: LocatorScheme; } export interface WebPageSourceInput extends Omit { locatorScheme?: LocatorScheme; } export interface ManualEntrySourceInput extends Omit { checksum?: ChecksumInput; locatorScheme?: LocatorScheme; } export interface PolicyStandardMetadata { inlineText: string; standardVersion: string; paragraphRef?: string; reference?: string; } export interface PolicyStandardSourceInput extends Omit { inlineText: string; standardVersion: string; paragraphRef?: string; reference?: string; locatorScheme?: LocatorScheme; metadata?: Record; } /** * Raw Source kinds whose factories accept a caller-supplied `locatorScheme` * override and otherwise fall back to a per-kind default. `uploaded-document` * has no default (`undefined`) because `UploadedDocumentSourceInput.locatorScheme` * is required, not optional — modeled here as a real, explicit table entry * rather than an omission, so a caller-supplied value is the only source of * truth for that kind. * * Module-internal seam: consumed by relative import from * `rawSourceWithDefaultLocatorScheme` below and by * `tests/raw-source-defaults.test.ts`, NOT re-exported from `src/index.ts`. */ export declare const DEFAULT_LOCATOR_SCHEME: { "uploaded-document": undefined; "api-record": LocatorScheme; "web-page": LocatorScheme; "manual-entry": LocatorScheme; }; export declare function uploadedDocumentSource(input: UploadedDocumentSourceInput): RawSource; export declare function apiRecordSource(input: ApiRecordSourceInput): RawSource; export declare function webPageSource(input: WebPageSourceInput): RawSource; export declare function manualEntrySource(input: ManualEntrySourceInput): RawSource; export declare function policyStandardSource(input: PolicyStandardSourceInput): RawSource;