import { ReactiveControllerHost } from "lit"; import { MonitorControllerBase, MonitorControllerOptions } from "./MonitorControllerBase"; /** The callback function invoked when the focused state of an element changes. */ export type FocusControllerCallback = (focused: boolean, focusVisible: boolean, target: HTMLElement) => void; /** Encapsulates options used to configure a `FocusController`. */ export interface FocusControllerOptions extends MonitorControllerOptions { /** The callback invoked when the focused state of an element changes. */ callback: FocusControllerCallback; } /** A `ReactiveController` used to monitor the focused state of one or more elements. */ export declare class FocusController extends MonitorControllerBase { #private; /** * Initializes a new instance of this class. * @param {ReactiveControllerHost & HTMLElement} host The host element to which this controller will be added. * @param {FocusControllerOptions} options Options used to configure this controller. */ constructor(host: ReactiveControllerHost & HTMLElement, options: FocusControllerOptions); /** @inheritdoc */ hostConnected(): void; /** @inheritdoc */ hostDisconnected(): void; /** * Starts observing the specified element. * @param {HTMLElement} target The element to start observing. */ protected _observe(target: HTMLElement): void; /** * Stops observing the specified element. * @param {HTMLElement} target The element to stop observing. */ protected _unobserve(target: HTMLElement): void; } //# sourceMappingURL=FocusController.d.ts.map