// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1

// Package structured contains the structured representation of the JSON changes
// returned by the jsonplan package.
//
// Placing these in a dedicated package allows for greater reuse across the
// various type of renderers.
package structured
