import type { RedocRawOptions } from '@chargeover/redoc'; export type RecursivePartial = { [P in keyof T]?: T[P] extends (infer U)[] ? RecursivePartial[] // eslint-disable-next-line @typescript-eslint/ban-types : T[P] extends object ? RecursivePartial : T[P]; }; export type RedocThemeOverrides = RecursivePartial< NonNullable >; export interface ThemeOptions { /** * Primary Color to pass to Redoc Theme, * ideally this should be all the customization you need */ primaryColor?: string; /** * Options to pass to redoc * @see https://github.com/redocly/redoc#redoc-options-object */ options?: Partial>; /** * Options to pass to override RedocThemeObject if you * want to customize the theme yourself. * **NOTE:** This will overwrite the dark/light mode fixes added in `redocusaurus` * @see https://github.com/Redocly/redoc#redoc-theme-object */ theme?: Partial; } export type GlobalData = { options: NonNullable; darkTheme: Partial; lightTheme: Partial; };