import type { SurveyObservationInput } from "./builder.js"; export type SourceAuthorityClass = "official_publication" | "system_of_record" | "publisher_owned_page" | "contract_record" | "policy_document" | "other"; export interface SourceAuthorityMetadata { authorityClass: SourceAuthorityClass; scope: Record; effectiveFrom?: string; effectiveUntil?: string; sourceVersion?: string; sourceOwner?: string; declaredBy: string; metadata?: Record; } export interface SourceOfAuthorityObservationInput { id: string; field: string; value: TValue; sourceAuthority: SourceAuthorityMetadata; rawSource: SurveyObservationInput["rawSource"]; extraction: Omit & { target?: string; excerpt?: string | null; }; reviewOutcome?: SurveyObservationInput["reviewOutcome"]; claim: Omit & { fieldOrBehavior?: string; }; candidate?: SurveyObservationInput["candidate"]; candidateSet?: SurveyObservationInput["candidateSet"]; metadata?: Record; } export interface SourceOfAuthorityObservationBuilderArgs { id: string; field: string; value: TValue; } export declare class SourceOfAuthorityObservationBuilder { private readonly state; constructor(args: SourceOfAuthorityObservationBuilderArgs); static create(args: SourceOfAuthorityObservationBuilderArgs): SourceOfAuthorityObservationBuilder; withSourceAuthority(sourceAuthority: SourceAuthorityMetadata): this; fromSource(rawSource: SourceOfAuthorityObservationInput["rawSource"]): this; withExtraction(extraction: SourceOfAuthorityObservationInput["extraction"]): this; withReviewOutcome(reviewOutcome: SourceOfAuthorityObservationInput["reviewOutcome"]): this; forClaim(claim: SourceOfAuthorityObservationInput["claim"]): this; withCandidate(candidate: SourceOfAuthorityObservationInput["candidate"]): this; withCandidateSet(candidateSet: SourceOfAuthorityObservationInput["candidateSet"]): this; withMetadata(metadata: Record): this; build(): SurveyObservationInput; } export declare function sourceOfAuthorityObservationBuilder(args: SourceOfAuthorityObservationBuilderArgs): SourceOfAuthorityObservationBuilder; export declare function sourceOfAuthorityObservation(input: SourceOfAuthorityObservationInput): SurveyObservationInput;