> ## Documentation Index
> Fetch the complete documentation index at: https://chart-spec.enchor.us/llms.txt
> Use this file to discover all available pages before exploring further.

# SaveReport

What saving did. The hashes it names are the canonical ones, keyed as `songHashes` keys them.

## Properties

| Property | Modifier | Type | Description |
| - | - | - | - |
|  `normalized` | `readonly` | readonly \{ `kind`: \| `"order"` \| `"trackNames"` \| `"noflipDuringFlip"` \| `"duplicateKeys"` \| `"songSection"` \| `"hopoTags"` \| `"multiplierNote"` \| `"deprecatedTags"` \| `"lineEndings"` \| `"lineSpelling"` \| `"unreadableLines"` \| `"spacing"` \| `"duplicateLines"` \| `"repeatedMarkers"` \| `"quotedTrackEvents"` \| `"modifiersWithoutNotes"` \| `"repeatedSections"` \| `"sectionOrder"`; `section`: `string` \| `null`; }\[] | - |
|  `spentHashes` | `readonly` | readonly `string`\[] \| `null` | The hashes the edits changed, which normalization may change too; `null` when there was nothing to normalize. |
|  `withheld` | `readonly` | readonly \{ `hashes`: readonly `string`\[]; `kind`: \| `"order"` \| `"trackNames"` \| `"noflipDuringFlip"` \| `"duplicateKeys"` \| `"songSection"` \| `"hopoTags"` \| `"multiplierNote"` \| `"deprecatedTags"` \| `"lineEndings"` \| `"lineSpelling"` \| `"unreadableLines"` \| `"spacing"` \| `"duplicateLines"` \| `"repeatedMarkers"` \| `"quotedTrackEvents"` \| `"modifiersWithoutNotes"` \| `"repeatedSections"` \| `"sectionOrder"`; `section`: `string` \| `null`; }\[] | Normalizations left out because each would change a hash the edits didn't, listed with those hashes. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.