import type { PropertyDeclarations } from 'lit'; import { type FocusableElement } from 'tabbable'; import { AriaFeedArticleController, AriaFeedArticleDescriptionController, AriaFeedArticleLabelController, AriaFeedController } from '../../controllers/aria-feed-controller.js'; import { ElementSlug } from '../../definitions/enums.js'; import type { AriaFeedArticleDescriptionElementEventMap, AriaFeedArticleElementEventMap, AriaFeedArticleLabelElementEventMap, AriaFeedElementEventMap } from '../../definitions/events.js'; import type { QueryDeclarations } from '../../definitions/interfaces.js'; import { AracnaBaseElement as BaseElement } from '../core/base-element.js'; declare global { interface HTMLElementTagNameMap { 'aracna-aria-feed': AriaFeedElement; 'aracna-aria-feed-article': AriaFeedArticleElement; 'aracna-aria-feed-article-description': AriaFeedArticleDescriptionElement; 'aracna-aria-feed-article-label': AriaFeedArticleLabelElement; } } declare class AriaFeedElement extends BaseElement { protected aria: AriaFeedController; /** * Properties */ /** */ busy?: boolean; /** * Queries */ /** */ articleElements: AriaFeedArticleElement[]; focusedArticleElement?: AriaFeedArticleElement; connectedCallback(): void; disconnectedCallback(): void; onKeyDown: (event: KeyboardEvent) => void; get focusedArticleElementIndex(): number; get slug(): ElementSlug; get nextTabbableElementSibling(): FocusableElement | null; get previousTabbableElementSibling(): FocusableElement | null; static properties: PropertyDeclarations; static queries: QueryDeclarations; } declare class AriaFeedArticleElement extends BaseElement { protected aria: AriaFeedArticleController; /** * Properties */ /** */ focused?: boolean; /** * Queries */ /** */ descriptionElement?: AriaFeedArticleDescriptionElement; labelElement?: AriaFeedArticleLabelElement; rootElement?: AriaFeedElement; connectedCallback(): void; disconnectedCallback(): void; onBlur: () => void; onFocus: () => void; get index(): number; get slug(): ElementSlug; static properties: PropertyDeclarations; static queries: QueryDeclarations; } declare class AriaFeedArticleLabelElement extends BaseElement { protected aria: AriaFeedArticleLabelController; get slug(): ElementSlug; } declare class AriaFeedArticleDescriptionElement extends BaseElement { protected aria: AriaFeedArticleDescriptionController; get slug(): ElementSlug; } export { AriaFeedArticleDescriptionElement as AracnaAriaFeedArticleDescriptionElement, AriaFeedArticleElement as AracnaAriaFeedArticleElement, AriaFeedArticleLabelElement as AracnaAriaFeedArticleLabelElement, AriaFeedElement as AracnaAriaFeedElement };