import { z } from 'zod'; import { ShareRole } from '@opencloud-eu/web-client'; declare const WebTheme: z.ZodObject<{ name: z.ZodOptional; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; designTokens: z.ZodOptional>; colorPalette: z.ZodOptional>; fontFamily: z.ZodOptional; }, z.core.$strip>>; favicon: z.ZodOptional; background: z.ZodOptional; isDark: z.ZodBoolean; label: z.ZodString; }, z.core.$strip>; export declare const WebThemeConfig: z.ZodObject<{ defaults: z.ZodObject<{ name: z.ZodOptional; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; designTokens: z.ZodOptional>; colorPalette: z.ZodOptional>; fontFamily: z.ZodOptional; }, z.core.$strip>>; favicon: z.ZodOptional; background: z.ZodOptional; }, z.core.$strip>; themes: z.ZodArray; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; designTokens: z.ZodOptional>; colorPalette: z.ZodOptional>; fontFamily: z.ZodOptional; }, z.core.$strip>>; favicon: z.ZodOptional; background: z.ZodOptional; isDark: z.ZodBoolean; label: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; export declare const ThemeConfig: z.ZodObject<{ common: z.ZodOptional; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; }, z.core.$strip>>; clients: z.ZodObject<{ web: z.ZodObject<{ defaults: z.ZodObject<{ name: z.ZodOptional; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; designTokens: z.ZodOptional>; colorPalette: z.ZodOptional>; fontFamily: z.ZodOptional; }, z.core.$strip>>; favicon: z.ZodOptional; background: z.ZodOptional; }, z.core.$strip>; themes: z.ZodArray; slogan: z.ZodOptional; logo: z.ZodOptional; logoMobile: z.ZodOptional; urls: z.ZodOptional; imprint: z.ZodOptional; privacy: z.ZodOptional; accessibility: z.ZodOptional; }, z.core.$strip>>; shareRoles: z.ZodOptional>>; designTokens: z.ZodOptional>; colorPalette: z.ZodOptional>; fontFamily: z.ZodOptional; }, z.core.$strip>>; favicon: z.ZodOptional; background: z.ZodOptional; isDark: z.ZodBoolean; label: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>; }, z.core.$strip>; }, z.core.$strip>; export type WebThemeType = z.infer; export type ThemeConfigType = z.infer; export declare const useThemeStore: import("pinia").SetupStoreDefinition<"theme", { availableThemes: import("vue").Ref<{ isDark: boolean; label: string; name?: string; slogan?: string; logo?: string; logoMobile?: string; urls?: { accessDeniedHelp?: string; imprint?: string; privacy?: string; accessibility?: string; }; shareRoles?: Record; designTokens?: { roles?: Record; colorPalette?: Record; fontFamily?: string; }; favicon?: string; background?: string; }[], { isDark: boolean; label: string; name?: string; slogan?: string; logo?: string; logoMobile?: string; urls?: { accessDeniedHelp?: string; imprint?: string; privacy?: string; accessibility?: string; }; shareRoles?: Record; designTokens?: { roles?: Record; colorPalette?: Record; fontFamily?: string; }; favicon?: string; background?: string; }[] | { isDark: boolean; label: string; name?: string; slogan?: string; logo?: string; logoMobile?: string; urls?: { accessDeniedHelp?: string; imprint?: string; privacy?: string; accessibility?: string; }; shareRoles?: Record; designTokens?: { roles?: Record; colorPalette?: Record; fontFamily?: string; }; favicon?: string; background?: string; }[]>; currentTheme: import("vue").Ref<{ isDark: boolean; label: string; name?: string; slogan?: string; logo?: string; logoMobile?: string; urls?: { accessDeniedHelp?: string; imprint?: string; privacy?: string; accessibility?: string; }; shareRoles?: Record; designTokens?: { roles?: Record; colorPalette?: Record; fontFamily?: string; }; favicon?: string; background?: string; }, { isDark: boolean; label: string; name?: string; slogan?: string; logo?: string; logoMobile?: string; urls?: { accessDeniedHelp?: string; imprint?: string; privacy?: string; accessibility?: string; }; shareRoles?: Record; designTokens?: { roles?: Record; colorPalette?: Record; fontFamily?: string; }; favicon?: string; background?: string; }>; initializeThemes: (themeConfig: ThemeConfigType) => void; setAndApplyTheme: (theme: WebThemeType, updateStorage?: boolean) => void; setAutoSystemTheme: () => void; isCurrentThemeAutoSystem: import("vue").ComputedRef; getRoleIcon: (role: ShareRole) => string; }>; export {};