import { FoundationElement } from '@ni/fast-foundation'; import { ListOption } from '../list-option'; declare global { interface HTMLElementTagNameMap { 'nimble-list-option-group': ListOptionGroup; } } /** * A nimble-styled HTML listbox option group */ export declare class ListOptionGroup extends FoundationElement { /** * The label for the group. * * @public * @remarks * If a label is also provided via slotted content, the label attribute * will have precedence. */ label?: string; /** * The hidden state of the element. * * @public * @defaultValue - false * @remarks * HTML Attribute: hidden */ hidden: boolean; /** * @internal * This attribute is required to allow use-cases that offer dynamic filtering * (like the Select) to visually hide groups that are filtered out, but still * allow users to use the native 'hidden' attribute without it being affected * by the filtering process. */ visuallyHidden: boolean; /** * @internal */ topSeparatorVisible: boolean; /** * @internal */ bottomSeparatorVisible: boolean; /** @internal */ hasOverflow: boolean; /** @internal */ labelSlot: HTMLSlotElement; /** @internal */ listOptions: ListOption[]; /** @internal */ get labelContent(): string; private readonly hiddenOptions; /** * @internal */ clickHandler(e: MouseEvent): void; /** * @internal */ handleChange(source: unknown, propertyName: string): void; private listOptionsChanged; } export declare const listOptionGroupTag = "nimble-list-option-group";