export interface IHistoryChangeItem { fieldName: string; displayName?: string; oldValue?: string | null; newValue?: string | boolean | null; createdByUserName?: string; } export declare const MULTI_SELECT_FIELDS: string[]; export declare const LANGUAGE_CODE_MAPPING: Record; /** * Maps `displayName` values (from `normalizeNodeToHistoryItem`, not raw SF API names) * to camelCase property prefixes used for hydrated lookup properties on history items. * E.g. key `"Product"` → prefix `"product"` → looks up `productNewName`, `productOldName`. */ export declare const KEY_MAP: Record; export declare const formatMultiSelectChange: (fieldName: string, oldValue: string, newValue: string) => string; /** * Generates human-readable text for a field change based on which values are present: * - Both values present → "changed X from A to B" (multiselect fields get add/remove diffing) * - Only newValue → "set X to B" * - Only oldValue (newValue is undefined or empty) → "removed X, was A" * - None of the above but `item.newValue` exists → fallback for cases where the resolved * display string on the item differs from the `newValue` parameter passed in */ export declare const formatDefaultChange: (item: IHistoryChangeItem, fieldName: string, oldValue: string, newValue: string) => string; /** * Field-specific formatting for history change text. Each case handles a SF field * whose raw values need special treatment before display. */ export declare const handleFieldChange: (item: IHistoryChangeItem, fieldName: string, oldValue: string, newValue: string) => string; /** * Post-processes formatted change text. * * - Boolean special case: SF boolean history entries can carry a raw `boolean` newValue * even after `extractStringValue` stringifies it. When the item's `newValue` is still * a boolean at this point, we generate dedicated text to avoid displaying "true"/"false". * - String replacements remap legacy SF display names to current UI terminology * ("Problem Statement" → "Title", "Case Type" → "Support Type"). */ export declare const applyPostProcessing: (text: string, item: IHistoryChangeItem) => string; //# sourceMappingURL=TimelineUtils.d.ts.map