Repository: withastro/astro
File: packages/astro/src/types/public/config.ts (TypeScript)

Code before:
					mode: SvgRenderMode;
			  };

		/**
		 * @name experimental.serializeConfig
		 * @type {boolean}
		 * @default `false`
		 * @version 5.x
		 * @description
		 *
		 * Enables the use of the experimental virtual modules `astro:config/server` and `astro:config/client`.
		 *
		 * These two virtual modules contain a serializable subset of the Astro configuration.
		 */
		serializeConfig?: boolean;

		/**
		 * @name experimental.headingIdCompat
		 * @type {boolean}
		 * @default `false`
		 * @version 5.5.x
		 * @description
		 *
		 * Enables full compatibility of Markdown headings IDs with common platforms such as GitHub and npm.
		 *
		 * When enabled, IDs for headings with non-alphanumeric characters, e.g. `<Picture />`, will
		 * include a trailing `-`, matching standard behavior in other Markdown tooling.
		 */
		headingIdCompat?: boolean;
	};
}

/**
 * Resolved Astro Config
 *
 * Config with user settings along with all defaults filled in.
 */
export interface AstroConfig extends AstroConfigType {
	// Public:
	// This is a more detailed type than zod validation gives us.
	// TypeScript still confirms zod validation matches this type.
	integrations: AstroIntegration[];
}
/**
 * An inline Astro config that takes highest priority when merging with the user config,
 * and includes inline-specific options to configure how Astro runs.
 */
export interface AstroInlineConfig extends AstroUserConfig, AstroInlineOnlyConfig {}
export interface AstroInlineOnlyConfig {
	/**
	 * A custom path to the Astro config file. If relative, it'll resolve based on the current working directory.

Review comment (suggestion):
```suggestion
		 * When enabled, IDs for headings ending with non-alphanumeric characters, e.g. `<Picture />`, will
```

Code after:
		 * @type {boolean}
		 * @default `false`
		 * @version 5.x
		 * @description
		 *
		 * Enables the use of the experimental virtual modules `astro:config/server` and `astro:config/client`.
		 *
		 * These two virtual modules contain a serializable subset of the Astro configuration.
		 */
		serializeConfig?: boolean;

		/**
		 * @name experimental.headingIdCompat
		 * @type {boolean}
		 * @default `false`
		 * @version 5.5.x
		 * @description
		 *
		 * Enables full compatibility of Markdown headings IDs with common platforms such as GitHub and npm.
		 *
		 * When enabled, IDs for headings ending with non-alphanumeric characters, e.g. `<Picture />`, will
		 * include a trailing `-`, matching standard behavior in other Markdown tooling.
		 */
		headingIdCompat?: boolean;
	};
}

/**
 * Resolved Astro Config
 *
 * Config with user settings along with all defaults filled in.
 */
export interface AstroConfig extends AstroConfigType {
	// Public:
	// This is a more detailed type than zod validation gives us.
	// TypeScript still confirms zod validation matches this type.
	integrations: AstroIntegration[];
}
/**
 * An inline Astro config that takes highest priority when merging with the user config,
 * and includes inline-specific options to configure how Astro runs.
 */
export interface AstroInlineConfig extends AstroUserConfig, AstroInlineOnlyConfig {}
export interface AstroInlineOnlyConfig {
	/**
	 * A custom path to the Astro config file. If relative, it'll resolve based on the current working directory.
	 * Set to false to disable loading any config files.
	 *
	 * If this value is undefined or unset, Astro will search for an `astro.config.(js,mjs,ts)` file relative to
	 * the `root` and load the config file if found.
	 *