///
import { Hsl } from '../../utilities/hsluv';
import { ThemeConfiguration, ThemeOptions, CustomPropertyMap, RoleColorOverrides, ThemeConstructor, TypographyScaleOverrides, ColorGroup } from './types';
interface EventMap {
change: (configuration: ThemeConfiguration) => void;
preview: (customProperties: Partial) => void;
}
export declare const ThemeContext: import("react").Context;
export declare function createTheme({ global, buyerJourney, typographyScale, typographyPrimary, typographySecondary, headingLevel1, headingLevel2, headingLevel3, link, controls, label, textFields, select, checkbox, radio, optionList, reviewBlock, lineItems, moneyLines, moneySummary, primaryButton, secondaryButton, formLayout, tag, tooltip, popover, banner, thumbnail, typographyStyle1, typographyStyle2, typographyStyle3, typographyStyle4, typographyStyle5, typographyStyle6, typographyStyle7, typographyStyle8, typographyStyle9, colors, }?: Partial, { legacy }?: Partial): UiTheme;
export declare class UiTheme {
configuration: ThemeConfiguration;
options: ThemeOptions;
customProperties: Partial;
private readonly listeners;
constructor(configuration: ThemeConstructor, options?: ThemeOptions);
preview(overrides: Partial, typographyScale: Partial): void;
set(key: Key, value: ThemeConfiguration[Key]): void;
on(event: Event, listener: EventMap[Event]): () => void;
}
export declare function colorSubdued(colorGroup?: ColorGroup): Hsl | undefined;
export declare function colorDisabled(colorGroup?: ColorGroup): Hsl | undefined;
export declare function colorText(colorGroup?: ColorGroup, legacy?: boolean): Hsl | undefined;
export declare function colorTextEmphasized(colorGroup?: ColorGroup, legacy?: boolean): Hsl | undefined;
export declare function colorTextSubdued(colorGroup?: ColorGroup, legacy?: boolean): Hsl | undefined;
export declare function colorBorderEmphasized(colorGroup?: ColorGroup, legacy?: boolean): Hsl | undefined;
export {};