import { z } from 'zod'; import { GrafanaTheme } from '../types/theme'; import { ThemeBreakpoints } from './breakpoints'; import { ThemeColors } from './createColors'; import { ThemeComponents } from './createComponents'; import { ThemeShadows } from './createShadows'; import { ThemeShape } from './createShape'; import { ThemeSpacing } from './createSpacing'; import { ThemeTransitions } from './createTransitions'; import { ThemeTypography } from './createTypography'; import { ThemeVisualizationColors } from './createVisualizationColors'; import { ThemeZIndices } from './zIndex'; /** * @beta * Next gen theme model introduced in Grafana v8. */ export interface GrafanaTheme2 { name: string; isDark: boolean; isLight: boolean; colors: ThemeColors; breakpoints: ThemeBreakpoints; spacing: ThemeSpacing; shape: ThemeShape; components: ThemeComponents; typography: ThemeTypography; zIndex: ThemeZIndices; shadows: ThemeShadows; visualization: ThemeVisualizationColors; transitions: ThemeTransitions; /** @deprecated Will be removed in a future version */ v1: GrafanaTheme; /** feature flags that might impact component looks */ flags: {}; } export declare const ThemeRichColorInputSchema: z.ZodObject<{ name: z.ZodOptional; main: z.ZodOptional; shade: z.ZodOptional; text: z.ZodOptional; border: z.ZodOptional; transparent: z.ZodOptional; borderTransparent: z.ZodOptional; contrastText: z.ZodOptional; }, z.core.$strip>; export declare const ThemeRichColorSchema: z.ZodObject<{ name: z.ZodNonOptional>; main: z.ZodNonOptional>; shade: z.ZodNonOptional>; text: z.ZodNonOptional>; border: z.ZodNonOptional>; transparent: z.ZodNonOptional>; borderTransparent: z.ZodNonOptional>; contrastText: z.ZodNonOptional>; }, z.core.$strip>; /** @alpha */ export type ThemeRichColor = z.infer; /** @internal */ export type DeepPartial = { [P in keyof T]?: DeepPartial; }; /** @internal */ export type DeepRequired = Required<{ [P in keyof T]: T[P] extends Required ? T[P] : DeepRequired; }>;