type SourceRow = {
    id: string;
    original_filename?: string | null;
    mime_type?: string | null;
    provenance?: Record<string, unknown> | null;
    idempotency_key?: string | null;
};
/**
 * Derive a short string for API consumers (e.g. finances UI) from a `sources` row.
 * Observations store `source_id`; this fills `source` for list responses.
 */
export declare function sourceRowToLabel(src: SourceRow | undefined, observationFields?: unknown): string | null;
/**
 * Attaches `source` (human-readable) to each observation when missing, using `sources` by `source_id`.
 * Also inspects observation fields for file provenance when the sources row has no filename.
 */
export declare function attachSourceLabelsToObservations(userId: string, observations: Record<string, unknown>[]): Promise<Record<string, unknown>[]>;
export {};
//# sourceMappingURL=observation_source_label.d.ts.map