Structured INI/YAML/TOML config rendered to a managed file.
@type content() :: map() | keyword()
@type format() :: :ini | :yaml | :toml
@type t() :: %HostKit.Resources.ConfigFile{ content: content(), depends_on: [term()], format: format(), group: String.t() | nil, meta: map(), mode: non_neg_integer() | nil, owner: String.t() | nil, path: String.t() }
@spec changed_public_entries(t(), map() | :invalid | nil) :: [map()]
@spec changed_public_paths(t(), map()) :: [String.t()]
@spec new(String.t(), format(), keyword()) :: t()
@spec public_entries(t()) :: map()
@spec public_entries_from_content(t(), String.t()) :: {:ok, map()} | {:error, term()}
@spec render(t()) :: {:ok, String.t()} | {:error, term()}
@spec secret?(t()) :: boolean()
@spec secret_path_segments(t()) :: [[String.t() | integer()]]
@spec secret_paths(t()) :: [String.t()]