export type Locales = ReadonlyArray; export type LocalePrefixMode = 'always' | 'as-needed' | 'never'; type Pathname = string; export type LocalePrefixes = Partial>; export type LocalePrefixConfigVerbose = AppLocalePrefixMode extends 'always' ? { mode: 'always'; prefixes?: LocalePrefixes; } : AppLocalePrefixMode extends 'as-needed' ? { mode: 'as-needed'; prefixes?: LocalePrefixes; } : { mode: 'never'; }; export type LocalePrefix = AppLocalePrefixMode | LocalePrefixConfigVerbose; export type Pathnames = Record> | Pathname>; export type DomainConfig = { localePrefix?: LocalePrefixMode; defaultLocale: AppLocales[number]; /** The domain name (e.g. "example.com", "www.example.com" or "fr.example.com"). Note that the `x-forwarded-host` or alternatively the `host` header will be used to determine the requested domain. */ domain: string; /** The locales that are available on this domain. */ locales: Array; }; export type DomainsConfig = Array>; export {};