import type { H3Event } from 'h3'; export type Arrayable = T | T[]; export interface ParsedRobotsTxt { groups: RobotsGroupResolved[]; sitemaps: string[]; } export type RobotsGroupInput = GoogleInput | YandexInput; export interface GoogleInput { comment?: Arrayable; disallow?: Arrayable; allow?: Arrayable; userAgent?: Arrayable; _skipI18n?: boolean; } export interface YandexInput extends GoogleInput { cleanParam?: Arrayable; } export interface RobotsGroupResolved { comment: string[]; disallow: string[]; allow: string[]; userAgent: string[]; host?: string; cleanParam?: string[]; _skipI18n?: boolean; } export interface HookRobotsTxtContext { robotsTxt: string; e: H3Event; } export interface HookRobotsConfigContext extends ParsedRobotsTxt { event?: H3Event; context: 'robots.txt' | 'init'; } export type NormalisedLocales = { code: string; iso?: string; domain?: string; }[]; export interface AutoI18nConfig { differentDomains?: boolean; locales: NormalisedLocales; defaultLocale: string; strategy: 'prefix' | 'prefix_except_default' | 'prefix_and_default' | 'no_prefix'; }