import { LitElement } from 'lit'; import { AbstractConstructor } from './constructor.ts'; declare global { interface ARIAMixin { ariaActiveDescendantElement: Element | null; ariaControlsElements: readonly Element[] | null; ariaDescribedByElements: readonly Element[] | null; ariaDetailsElements: readonly Element[] | null; ariaErrorMessageElements: readonly Element[] | null; ariaLabelledByElements: readonly Element[] | null; ariaOwnsElements: readonly Element[] | null; } } export interface SbbStateController { add(value: string): this; delete(value: string): boolean; has(value: string): boolean; toggle(value: string, force?: boolean): void; } /** * Creates a state controller for the given element. * NOT INTENDED TO BE USED BY CONSUMERS! * @internal */ export declare function ɵstateController(element: Element): SbbStateController; export declare function ɵstateController(element: Element | undefined | null): SbbStateController | null; export interface SbbElementInternalsConstructor { role?: ElementInternals['role']; } export declare abstract class SbbElementInternalsMixinType { protected readonly internals: ElementInternals; protected toggleState(value: string, force?: boolean): void; } /** * Appends the given elements to the given aria value and returns the * combined value as a new array or null, if both values were empty. */ export declare const appendAriaElements: (ariaValue: readonly Element[] | null, ...newElements: (Element | null)[]) => Element[] | null; /** * Removes the given elements from the given aria value and returns * the remaining elements as a new array or null, if the result is empty. */ export declare const removeAriaElements: (ariaValue: readonly Element[] | null, ...removableElements: (Element | null)[]) => Element[] | null; /** * The SbbElementInternalsMixin attaches ElementInternals to the element and sets * the role, if defined. */ export declare const SbbElementInternalsMixin: >(superClass: T) => AbstractConstructor & T & SbbElementInternalsConstructor; //# sourceMappingURL=element-internals-mixin.d.ts.map