import { Block, LayoutSettings, SectionSettings, Section, ThemeStyling, ThemeDefinition } from "../../../models";
import { ThemeStore, ITheming } from "../../theming";
export declare class ThemingRenditionManager {
    private themeReferences;
    getThemeTargetIdBlock(block: Block, layoutSettings: LayoutSettings, parentSettings: SectionSettings, inheritedThemeTargetId: string, blockThemeDefinition: ThemeDefinition): string;
    getThemeTargetIdSection(section: Section, blockThemeDefinition: ThemeDefinition): string;
    getThemeTargetIdLayout(layoutSettings: LayoutSettings, layoutThemeDefinition: ThemeDefinition): string;
    getBackgroundThemeStylingForBlock(themeStore: ThemeStore, block: Block, parentSettings: SectionSettings, layoutSettings: LayoutSettings, layoutSettingsParent: LayoutSettings, blockThemeDefinitionId: string): ThemeStyling;
    getBackgroundThemeStylingForLayout(componentTheme: ITheming, layoutSettings: LayoutSettings, layoutSettingsParent: LayoutSettings): ThemeStyling;
    garbagecollectNonLayoutThemes(themeStore: ThemeStore, currentLayoutId: string): void;
    registerSectionTheme(themeStore: ThemeStore, section: Section, layoutId: string): void;
    registerBlockTheme(themeStore: ThemeStore, block: Block, layoutId: string): void;
    private registerCustomTheme;
    private registerThemeDefinition;
    registerLayoutTheme(themeStore: ThemeStore, layoutSettings: LayoutSettings, layoutId: string, layoutThemeDefinition: ThemeDefinition, blockThemeDefinition: ThemeDefinition): void;
    private addThemingReference;
}
