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

Code before:
					/**
					 * @name experimental.csp.algorithm
					 * @type {"SHA-256" | "SHA-384" | "SHA-512"}
					 * @default `'SHA-256'`
					 * @version 5.9.0
					 * @description
					 *
					 * The [hash function](https://developer.mozilla.org/en-US/docs/Glossary/Hash_function) to use to generate the hashes of the styles and scripts emitted by Astro.
			     * 
				   * ```js
			     * import { defineConfig } from 'astro/config';
				   *
			     * export default defineConfig({
           *   experimental: {
           *     csp: {
           *       algorithm: 'SHA-512'
           *     }
           *   }
           * });
           * ```
					 */
					algorithm?: CspAlgorithm;

					/**
					 * @name experimental.csp.styleDirective
					 * @type {CspHash[]}
					 * @default `undefined`
					 * @version 5.9.0
					 * @description
					 *
					 * A configuration object that allows you to override the default sources for the `style-src` directive
			     * with the `resources` property, or to provide additional `hashes` to be rendered.
				   *
           * These properties are added to all pages and completeley override Astro's default resources, not add to them.
					 * Therefore, you must explicitly specify any default values that you want to be included.
					 */
					styleDirective?: {
						/**
						 * @name experimental.csp.styleDirective.hashes
						 * @type {CspHash[]}
						 * @default `[]`
						 * @version 5.9.0
						 * @description
						 *
						 * A list of additional hashes added to the `style-src` directive.
             *
             * If you have external styles that aren't generated by Astro, this configuration option allows you to provide additional hashes to be rendered. 
             *
             * You must provide hashes that start with `sha384-`, `sha512-` or `sha256-`. Other values will cause a validation error. These hashes are added to all pages.
						 *			   
						 * ```js

Review comment (suggestion):
I think the `styleDirective` type should be:
```suggestion
					 * @type {{ hashes?: CspHash[], resources?: string[] }}
```
Or, at least `object`. `CspHash[]` is the type for `hashes`, not `styleDirective`.

Code after:
					/**
					 * @name experimental.csp.algorithm
					 * @type {"SHA-256" | "SHA-384" | "SHA-512"}
					 * @default `'SHA-256'`
					 * @version 5.9.0
					 * @description
					 *
					 * The [hash function](https://developer.mozilla.org/en-US/docs/Glossary/Hash_function) to use to generate the hashes of the styles and scripts emitted by Astro.
					 * 
					 * ```js
					 * import { defineConfig } from 'astro/config';
					 *
					 * export default defineConfig({
					 *   experimental: {
					 *     csp: {
					 *       algorithm: 'SHA-512'
					 *     }
					 *   }
					 * });
					 * ```
					 */
					algorithm?: CspAlgorithm;

					/**
					 * @name experimental.csp.styleDirective
					 * @type {{ hashes?: CspHash[], resources?: string[] }}
					 * @default `undefined`
					 * @version 5.9.0
					 * @description
					 *
					 * A configuration object that allows you to override the default sources for the `style-src` directive
					 * with the `resources` property, or to provide additional `hashes` to be rendered.
					 *
					 * These properties are added to all pages and completely override Astro's default resources, not add to them.
					 * Therefore, you must explicitly specify any default values that you want to be included.
					 */
					styleDirective?: {
						/**
						 * @name experimental.csp.styleDirective.hashes
						 * @type {CspHash[]}
						 * @default `[]`
						 * @version 5.9.0
						 * @description
						 *
						 * A list of additional hashes added to the `style-src` directive.
						 *
						 * If you have external styles that aren't generated by Astro, this configuration option allows you to provide additional hashes to be rendered. 
						 *
						 * You must provide hashes that start with `sha384-`, `sha512-` or `sha256-`. Other values will cause a validation error. These hashes are added to all pages.
						 *			   
						 * ```js