/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement } from 'lit'; type Constructor = new (...args: any[]) => T; /** * Options for checkbox focus behavior */ export interface CheckboxFocusOptions { preventScroll?: boolean; } /** * Interface for components that support checkbox focus operations */ export interface CheckboxFocusCapable { /** * Focus the checkbox input element * @param options - Focus options */ focus(options?: CheckboxFocusOptions): void; /** * Blur the checkbox input element */ blur(): void; /** * Check if the checkbox is currently focused * @returns True if focused */ isFocused(): boolean; /** * Get the native checkbox input element * @returns The checkbox input element or null */ get nativeElement(): HTMLInputElement | null; } /** * Mixin that provides focus management capabilities to checkbox components * * @param superClass - The base class to extend * @returns Enhanced class with checkbox focus capabilities * * @example * ```typescript * export class MyCheckbox extends CheckboxFocusMixin(LitElement) { * handleClick() { * this.focus(); * } * } * ``` */ export declare const CheckboxFocusMixin: >(superClass: T) => Constructor & T; export {}; //# sourceMappingURL=checkbox-focus-mixin.d.ts.map