import * as React from "react"; type WithThemeFactory = ; }, InnerComponent extends React.ComponentType, OuterProps extends InnerProps & { theme?: NonNullable; }>(comp: InnerComponent) => React.ComponentType; interface ThemeProviderProps { theme: NonNullable | ((outerTheme: Theme) => NonNullable); children: React.ReactNode; } type ThemeProviderFactory = React.ComponentType>; type UseThemeFactory = () => CustomTheme; interface Theming { context: React.Context; withTheme: WithThemeFactory; ThemeProvider: ThemeProviderFactory; useTheme: UseThemeFactory; } export type ThemeGlobalStyles = { borderRadius: string; borderColor: string; placeholderColor: string; primaryBackgroundColor: string; primaryTextColor: string; secondaryBackgroundColor: string; secondaryTextColor: string; successBackgroundColor: string; successTextColor: string; successSecondaryBackgroundColor: string; successSecondaryTextColor: string; dangerBackgroundColor: string; dangerTextColor: string; dangerSecondaryBackgroundColor: string; dangerSecondaryTextColor: string; warningBackgroundColor: string; warningTextColor: string; warningSecondaryBackgroundColor: string; warningSecondaryTextColor: string; infoBackgroundColor: string; infoTextColor: string; infoSecondaryBackgroundColor: string; infoSecondaryTextColor: string; fadedBackgroundColor: string; fadedTextColor: string; accentBackgroundColor: string; accentTextColor: string; neutralBackgroundColor: string; neutralTextColor: string; scrollBarTrackColor: string; scrollBarThumbColor: string; }; export type HapiThemingThemeProvider = Theming["ThemeProvider"]; export type HapiThemingUseTheme = Theming["useTheme"]; export type HapiThemeRule = "global" | "link" | "modal" | "modalBackdrop" | "loadingSpinner" | "userJourneyBar" | "card" | "cardHeader" | "productCard" | "campaignCard" | "tabHeaders" | "tabHeader" | "tabPanels" | "tabPanel" | "buttonBase" | "buttonPrimary" | "buttonSecondary" | "buttonDanger" | "buttonDangerSecondary" | "buttonInfo" | "buttonInfoSecondary" | "buttonSuccess" | "buttonSuccessSecondary" | "buttonWarning" | "buttonWarningSecondary" | "buttonFaded" | "buttonAccent" | "buttonNeutral" | "badgeBase" | "badgePrimary" | "badgeSecondary" | "badgeSuccess" | "badgeSuccessSecondary" | "badgeInfo" | "badgeInfoSecondary" | "badgeDanger" | "badgeDangerSecondary" | "badgeWarning" | "badgeWarningSecondary" | "badgeFaded" | "badgeAccent" | "badgeNeutral" | "formFieldLabelBase" | "formFieldLabel" | "formFieldErrorMessage" | "formFieldBase" | "formFieldDescriptionBase" | "formFieldDescription" | "formFieldErrorMessageBase" | "inputSelectBase" | "input" | "inputRange" | "inputHtml" | "inputTags" | "textarea" | "select" | "checkbox" | "checkboxPrimary" | "checkboxSecondary" | "checkboxSuccess" | "checkboxSuccessSecondary" | "checkboxInfo" | "checkboxInfoSecondary" | "checkboxDanger" | "checkboxDangerSecondary" | "checkboxWarning" | "checkboxWarningSecondary" | "checkboxAccent" | "checkboxFaded" | "checkboxNeutral" | "radio" | "accordionButton" | "accordionArrow" | "accordionPanel" | "accordionTitle" | "headingBase" | "headingOne" | "headingTwo" | "headingThree" | "headingFour" | "headingFive" | "headingSix" | "alert" | "alertProgressBar"; export type HapiThemeComponentVariant = "primary" | "secondary" | "danger" | "dangerSecondary" | "warning" | "warningSecondary" | "info" | "infoSecondary" | "success" | "successSecondary" | "faded" | "accent" | "neutral"; export type CSSPropertiesInJS = { [key: string]: string | undefined | any[] | (() => any) | any; }; export type HapiTheme = { [key in HapiThemeRule]: key extends "global" ? Partial : CSSPropertiesInJS; }; export type HapiFontOptions = { fontFaces?: ThemeFontFaceOption[]; fontFamily: string; }; export type ThemeFontFaceOption = { fontFamily: string; src: string; fontWeight?: string; fontStyle?: string; fontSize?: string; rel?: "stylesheet"; }; export type HapiClassName = (string | undefined)[] | string | undefined; export type HapiSiteTheme = "elements"; export {}; //# sourceMappingURL=types.d.ts.map