import type { AstroConfig } from '../../../types/public/config.js'; export interface ConfigValidationIssue { message: string; path: (string | number)[]; } type I18nConfig = NonNullable; /** * Validates that `build.assetsPrefix`, when specified as an object, includes a `fallback` key. */ export declare function validateAssetsPrefix(config: Pick): ConfigValidationIssue[]; /** * Validates that remote pattern wildcards are only at the start of hostnames * and at the end of pathnames. */ export declare function validateRemotePatterns(remotePatterns: AstroConfig['image']['remotePatterns']): ConfigValidationIssue[]; /** * Validates that `redirectToDefaultLocale` is not `true` when * `prefixDefaultLocale` is `false`, which would cause infinite redirects. */ export declare function validateI18nRedirectToDefaultLocale(i18n: AstroConfig['i18n']): ConfigValidationIssue[]; /** * Validates that `outDir` is not inside `publicDir`, which would cause an infinite loop. */ export declare function validateOutDirNotInPublicDir(outDir: AstroConfig['outDir'], publicDir: AstroConfig['publicDir']): ConfigValidationIssue[]; /** * Validates that the default locale is present in the locales array. */ export declare function validateI18nDefaultLocale(i18n: Pick): ConfigValidationIssue[]; /** * Validates i18n fallback entries: keys and values must exist in locales, * and the default locale cannot be used as a key. */ export declare function validateI18nFallback(i18n: Pick): ConfigValidationIssue[]; /** * Validates i18n domain entries: locale keys must exist, domain values must be * valid origin URLs, site must be set, and output must be 'server'. */ export declare function validateI18nDomains(config: Pick): ConfigValidationIssue[]; /** * Validates that font `cssVariable` values start with `--` and don't contain * spaces or colons. */ export declare function validateFontsCssVariables(fonts: NonNullable): ConfigValidationIssue[]; export {};