import { CustomElement } from '../../Abstracts/CustomElement';
import type { IListItemGroupElementProps } from './IListItemGroupElementProps';
import { ListItemElement } from './ListItemElement';
import { IItemsAware } from '../../Interfaces/IItemsAware';
declare const ListItemGroupElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Stickable").IStickableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * List Item Group - A container for grouping and organizing related list items with an optional header.
 *
 * @description
 * The List Item Group component provides a way to organize related list items into logical sections
 * within a larger list. It supports sticky headers that remain visible when scrolling, displays an
 * item count, and can be used to create visual or functional groupings such as categories, sections,
 * or alphabetical divisions. The group automatically tracks the number of child list items and can
 * display a customizable header with the group name and count.
 *
 * @name List Item Group
 * @element mosaik-list-item-group
 * @category Selectors
 *
 * @slot - The default slot for list items (mosaik-list-item elements)
 * @slot header - Custom header content (overrides the default header text)
 *
 * @csspart header - The header text element
 * @csspart sticky - The sticky wrapper element when isSticky is true
 *
 * @cssprop {String} --list-item-group-background-color - The background fill color
 * @cssprop {String} --list-item-group-border-color - The border color
 * @cssprop {String} --list-item-group-border-radius - The corner rounding radius
 * @cssprop {String} --list-item-group-border-style - The border line style
 * @cssprop {String} --list-item-group-border-width - The border thickness
 * @cssprop {String} --list-item-group-font-family - The font family for group text
 * @cssprop {String} --list-item-group-font-letter-spacing - The item group font letter spacing CSS custom property.
 * @cssprop {String} --list-item-group-font-line-height - The item group font line height CSS custom property.
 * @cssprop {String} --list-item-group-font-size - The font size for group text
 * @cssprop {String} --list-item-group-font-text-decoration - The item group font text decoration CSS custom property.
 * @cssprop {String} --list-item-group-font-text-transform - The item group font text transform CSS custom property.
 * @cssprop {String} --list-item-group-font-weight - The font weight for group text
 * @cssprop {String} --list-item-group-foreground-color - The text color
 * @cssprop {String} --list-item-group-gap - The spacing between items
 * @cssprop {String} --list-item-group-padding-bottom - The bottom padding inside the group
 * @cssprop {String} --list-item-group-padding-left - The left padding inside the group
 * @cssprop {String} --list-item-group-padding-right - The right padding inside the group
 * @cssprop {String} --list-item-group-padding-top - The top padding inside the group
 * @cssprop {String} --list-item-group-shadow - The drop shadow or elevation effect
 * @cssprop {String} --list-item-group-shadow-blur - The item group shadow blur CSS custom property.
 * @cssprop {String} --list-item-group-shadow-color - The item group shadow color CSS custom property.
 * @cssprop {String} --list-item-group-shadow-offset-x - The item group shadow offset x CSS custom property.
 * @cssprop {String} --list-item-group-shadow-offset-y - The item group shadow offset y CSS custom property.
 * @cssprop {String} --list-item-group-shadow-spread - The item group shadow spread CSS custom property.
 * @cssprop {String} --list-item-group-transition-duration - The duration of transitions
 * @cssprop {String} --list-item-group-transition-mode - The timing function for transitions
 * @cssprop {String} --list-item-group-transition-property - The CSS properties to transition
 * @cssprop {String} --list-item-group-translate - The item group translate CSS custom property.
 *
 * @fires connected {ConnectedEvent} - Fired when connected to the DOM
 * @fires changed {PropertyChangedEvent} - Fired when properties change
 *
 * @dependency mosaik-sticky - The Sticky element.
 * @dependency mosaik-text - The Text element.
 *
 * @example
 * Basic list item group with header:
 * ```html
 * <mosaik-list-item-group header="Favorites">
 *   <mosaik-list-item>Item 1</mosaik-list-item>
 *   <mosaik-list-item>Item 2</mosaik-list-item>
 *   <mosaik-list-item>Item 3</mosaik-list-item>
 * </mosaik-list-item-group>
 * ```
 *
 * @example
 * Sticky group header:
 * ```html
 * <mosaik-list-item-group header="Recent" is-sticky>
 *   <mosaik-list-item>Recent item 1</mosaik-list-item>
 *   <mosaik-list-item>Recent item 2</mosaik-list-item>
 * </mosaik-list-item-group>
 * ```
 *
 * @example
 * Group with custom header slot:
 * ```html
 * <mosaik-list-item-group>
 *   <div slot="header">
 *     <mosaik-icon></mosaik-icon>
 *     <strong>Starred Items</strong>
 *   </div>
 *   <mosaik-list-item>Starred 1</mosaik-list-item>
 *   <mosaik-list-item>Starred 2</mosaik-list-item>
 * </mosaik-list-item-group>
 * ```
 *
 * @public
 */
export declare class ListItemGroupElement extends ListItemGroupElement_base implements IListItemGroupElementProps, IItemsAware<ListItemElement> {
    private _header;
    /**
     * @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 `header` property.
     *
     * @public
     * @attr
     */
    get header(): string;
    set header(value: string);
    /**
     * Returns the `count` property.
     *
     * @private
     * @readonly
     */
    get count(): number;
    /**
     * Returns the `items` property.
     *
     * @private
     * @readonly
     */
    get items(): Array<ListItemElement>;
}
/**
 * @public
 */
export declare namespace ListItemGroupElement {
    type Props = IListItemGroupElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-list-item-group': ListItemGroupElement;
    }
}
export {};
//# sourceMappingURL=ListItemGroupElement.d.ts.map