import { ButtonBaseElement } from '../Abstracts/ButtonBaseElement'; import type { ICompoundButtonElementProps } from './ICompoundButtonElementProps'; declare const CompoundButtonElement_base: (abstract new (...args: Array) => import("../../../../Controls/Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Reversible").IReversibleProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array) => import("../../../Behaviors/ContentAlignable").IContentAlignableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Busyable").IBusyableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Labelable").ILabelableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Iconable").IIconableProps) & typeof ButtonBaseElement & import("../../../../Controls/Behaviors/Themeable").IThemeableCtor; /** * CompoundButton - An enhanced button component with hierarchical content support for complex interactions. * * @description * The CompoundButton component provides a sophisticated interactive element that combines primary * and secondary content areas within a single button interface. It supports multiple content slots * including main labels, sub-labels, icons, prefix/suffix areas, and overlays, enabling rich * information presentation for navigation, action cards, or complex user interactions. The component * includes advanced features like ripple effects, focus rings, progress indicators, navigation * chevrons, and comprehensive accessibility support, making it ideal for interfaces requiring * detailed button content with hierarchical information display. * * @name CompoundButton * @element mosaik-compound-button * @category Buttons * * @slot prefix - Leading content area displayed before the main label and icon * @slot icon - Icon content area for primary visual identification * @slot label - Primary text content area for main button labeling * @slot subLabel - Secondary text content area for descriptions or additional contextual information * @slot suffix - Trailing content area displayed after all main content * @slot overlay - Overlay content area for badges, notifications, or status indicators * * @csspart button - The main button element container * @csspart focusRing - The focus indicator ring for keyboard navigation accessibility * @csspart ripple - The touch feedback ripple effect container * @csspart innerStack - The internal stack layout container for organizing content * @csspart icon - The icon display area within the button * @csspart label - The primary text label display area * @csspart subLabel - The secondary text label display area for descriptions * @csspart nav - The navigation chevron icon display area (when isNavigation is true) * @csspart progressRing - The busy state progress indicator * * @cssprop {String} --compound-button-font-family - The font family for button text content * @cssprop {String} --compound-button-font-size - The font size for primary button text * @cssprop {String} --compound-button-font-line-height - The line height for button text * @cssprop {String} --compound-button-font-weight - The font weight for button text * @cssprop {String} --compound-button-font-letter-spacing - The letter spacing for button text * @cssprop {String} --compound-button-font-text-decoration - The text decoration style for button text * @cssprop {String} --compound-button-font-text-transform - The text transformation style for button text * @cssprop {String} --compound-button-padding-top - The top padding inside the button * @cssprop {String} --compound-button-padding-right - The right padding inside the button * @cssprop {String} --compound-button-padding-bottom - The bottom padding inside the button * @cssprop {String} --compound-button-padding-left - The left padding inside the button * @cssprop {String} --compound-button-gap - The spacing between button content elements * @cssprop {String} --compound-button-transition-duration - The duration of hover and focus transitions * @cssprop {String} --compound-button-transition-mode - The timing function for transitions * @cssprop {String} --compound-button-transition-property - The CSS properties to animate during transitions * @cssprop {String} --compound-button-foreground-color - The text and icon color * @cssprop {String} --compound-button-background-color - The background fill color * @cssprop {String} --compound-button-border-color - The border outline color * @cssprop {String} --compound-button-border-width - The border thickness * @cssprop {String} --compound-button-border-radius - The corner rounding radius * @cssprop {String} --compound-button-border-style - The border line style * @cssprop {String} --compound-button-shadow - The drop shadow or elevation effect * @cssprop {String} --compound-button-width - The button width * @cssprop {String} --compound-button-height - The button height * @cssprop {String} --compound-button-min-width - The minimum button width * @cssprop {String} --compound-button-min-height - The minimum button height * @cssprop {String} --compound-button-translate - The transform translation offset * @cssprop {String} --compound-button-icon-min-width - The minimum width for icon display area * @cssprop {String} --compound-button-icon-min-height - The minimum height for icon display area * @cssprop {String} --compound-button-focus-ring-color - The focus ring color (from focusRing mixin) * @cssprop {String} --compound-button-focus-ring-inward-offset - The focus ring inward offset (from focusRing mixin) * @cssprop {String} --compound-button-focus-ring-outward-offset - The focus ring outward offset (from focusRing mixin) * @cssprop {String} --compound-button-focus-ring-active-width - The focus ring width when active (from focusRing mixin) * @cssprop {String} --compound-button-ripple-color - The ripple effect color (from ripple mixin) * @cssprop {String} --compound-button-ripple-duration - The ripple effect animation duration (from ripple mixin) * * @dependency {StackElement} - Layout container for organizing multiple button content areas * @dependency {IconElement} - Icon display component for button graphics and navigation indicators * @dependency {RippleElement} - Touch feedback effect component for interactive response * @dependency {FocusRingElement} - Keyboard focus indicator component for accessibility * @dependency {TextElement} - Text rendering component for primary and secondary labels * @dependency {ProgressRingElement} - Progress indicator component for busy states * * @example * Basic compound button with label: * ```html * * ``` * * @example * Navigation compound button with chevron: * ```html * * ``` * * @public */ export declare class CompoundButtonElement extends CompoundButtonElement_base implements ICompoundButtonElementProps { private _subLabel; private _isNavigation; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `subLabel` property. * * @public */ get subLabel(): string; set subLabel(value: string); /** * Gets or sets the `isNavigation` property. * * @public * @attr is-navigation */ get isNavigation(): boolean; set isNavigation(value: boolean); } /** * @public */ export declare namespace CompoundButtonElement { type Props = ICompoundButtonElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-compound-button': CompoundButtonElement; } } export {}; //# sourceMappingURL=CompoundButtonElement.d.ts.map