import { type CSSResultGroup, type PropertyDeclarations } from 'lit'; import { AriaAccordionButtonController, AriaAccordionHeaderController, AriaAccordionPanelController, AriaAccordionSectionController } from '../../controllers/aria-accordion-controller.js'; import { ElementSlug } from '../../definitions/enums.js'; import type { AriaAccordionButtonElementEventMap, AriaAccordionElementEventMap, AriaAccordionHeaderElementEventMap, AriaAccordionPanelElementEventMap, AriaAccordionSectionElementEventMap } from '../../definitions/events.js'; import type { QueryDeclarations } from '../../definitions/interfaces.js'; import type { HeadingLevel } from '../../definitions/types.js'; import { AracnaBaseElement as BaseElement } from '../core/base-element.js'; declare global { interface HTMLElementTagNameMap { 'aracna-aria-accordion': AriaAccordionElement; 'aracna-aria-accordion-button': AriaAccordionButtonElement; 'aracna-aria-accordion-header': AriaAccordionHeaderElement; 'aracna-aria-accordion-panel': AriaAccordionPanelElement; 'aracna-aria-accordion-section': AriaAccordionSectionElement; } } declare class AriaAccordionElement extends BaseElement { /** * Properties */ /** */ allowOnlyOneExpandedSection?: boolean; /** * Queries */ /** */ buttonElements: AriaAccordionButtonElement[]; expandedSectionElements: AriaAccordionSectionElement[]; connectedCallback(): void; disconnectedCallback(): void; onKeyDown: (event: KeyboardEvent) => void; get focusedButtonElement(): AriaAccordionButtonElement | undefined; get focusedButtonElementIndex(): number; get slug(): ElementSlug; static queries: QueryDeclarations; static properties: PropertyDeclarations; } declare class AriaAccordionSectionElement extends BaseElement { protected aria: AriaAccordionSectionController; /** * Properties */ /** */ expanded?: boolean; uncollapsible?: boolean; /** * Queries */ /** */ buttonElement?: AriaAccordionButtonElement; panelElement?: AriaAccordionPanelElement; toggle(): void; collapse(): void; expand(): void; get collapsed(): boolean; get slug(): ElementSlug; static queries: QueryDeclarations; static properties: PropertyDeclarations; } declare class AriaAccordionHeaderElement extends BaseElement { protected aria: AriaAccordionHeaderController; /** * Properties */ /** */ level?: HeadingLevel; get slug(): ElementSlug; static properties: PropertyDeclarations; } declare class AriaAccordionButtonElement extends BaseElement { protected aria: AriaAccordionButtonController; /** * Queries */ /** */ rootElement?: AriaAccordionElement; sectionElement?: AriaAccordionSectionElement; connectedCallback(): void; disconnectedCallback(): void; onClick(): void; onKeyDown(event: KeyboardEvent): void; get slug(): ElementSlug; static queries: QueryDeclarations; static styles: CSSResultGroup; } declare class AriaAccordionPanelElement extends BaseElement { protected aria: AriaAccordionPanelController; /** * Queries */ /** */ sectionElement?: AriaAccordionSectionElement; get slug(): ElementSlug; static queries: QueryDeclarations; } export { AriaAccordionButtonElement as AracnaAriaAccordionButtonElement, AriaAccordionElement as AracnaAriaAccordionElement, AriaAccordionHeaderElement as AracnaAriaAccordionHeaderElement, AriaAccordionPanelElement as AracnaAriaAccordionPanelElement, AriaAccordionSectionElement as AracnaAriaAccordionSectionElement };