type TenantConfig = {
/**
* The hosts that are allowed to access this tenant.
*
* The host is used to determine which tenant to use.
*/
hosts: string[];
/**
* The site configuration for this tenant.
*/
config: SiteConfigInput & {
/**
* The tenant configuration for this site.
*/
tenant: TenantConfigInput;
} & Required<Pick<SiteConfigInput, "url">>;
};
type TenantConfigInput = {
/**
* The unique identifier of the tenant.
*/
id: string;
/**
* The sites available for this tenant. The key is the locale code and the value is the site id.
*
* @example
* ```ts
* site: {
* 'nl-NL': 'canonical-nl-NL',
* 'en-GB': 'canonical-en-GB',
* }
* ```
*/
site: Record<string, string>;
/**
* The public runtime config to apply to the tenant.
*/
publicRuntimeConfig?: Partial<PublicRuntimeConfig>;
/**
* Support any keys as tenant config.
*/
[key: string]: any;
};