import { DuetColor, DuetHeadingLevel, DuetIconName, DuetMargin, DuetTheme } from "../../common-types"; import { ThemeableComponent } from "../../common/themeable-component"; import { DuetSource } from "../../utils/picture-utils"; export type bannerSize = "small" | "medium" | "large"; /** * @slot heading - Slot for heading content. Only span should be used in this slot. * @slot description - Slot for description content. * @slot action - Slot for action button. */ export declare class DuetBanner implements ThemeableComponent { private hasHeadingSlot; private hasDescriptionSlot; private hasActionSlot; element: HTMLElement; currentSize: bannerSize; /** * Theme. */ theme: DuetTheme; /** * Controls the margin of the component. */ margin: DuetMargin; /** * Background color. */ backgroundColor: DuetColor; /** * Icon color. */ iconColor: DuetColor; /** * Icon background color. */ iconBackgroundColor: DuetColor; /** * Text color. */ textColor: DuetColor; /** * Maximum size of the banner. The banner will automatically switch to smaller sizes when space is not available. * Sizes "large" and "medium" are horizontal, "small" is vertical, */ size: bannerSize; /** * Image. Example image is 512x341; */ image: string; /** * Alt attribute text for the image. If not provided, image is assigned presentation role. */ imageAlt: string; /** * Array of sources for responsive images. Sources have the properties of element. * This is an experimental feature and might be changed without notice. */ sources: DuetSource[] | string; /** * Icon. */ icon: DuetIconName; /** * The actual heading level used in the HTML markup. */ headingLevel: DuetHeadingLevel; /** * Component lifecycle events. */ componentWillLoad(): void; connectedCallback(): void; disconnectedCallback(): void; componentDidRender(): void; private checkCurrentSize; /** * Default to smaller button size for small and medium banners. */ private setButtonSize; private isTurva2; private getBackgroundColor; /** * render() function * Always the last one of the class. */ render(): any; }