import { SelectableElement } from "../../internal/controllers/selection-controller.js"; import { ButtonBase } from "../button/button.base.js"; import { PropertyValues } from "lit"; import { OdxIconName } from "@odx/icons"; type ToggleButtonMode = (typeof ToggleButtonMode)[keyof typeof ToggleButtonMode]; declare const ToggleButtonMode: { readonly TOGGLE: "toggle"; readonly ACTION: "action"; }; type ToggleButtonVariant = (typeof ToggleButtonVariant)[keyof typeof ToggleButtonVariant]; declare const ToggleButtonVariant: { readonly NEUTRAL: "neutral"; readonly GHOST: "ghost"; }; declare global { interface HTMLElementTagNameMap { 'odx-toggle-button': OdxToggleButton; } } /** * @summary A toggle button component that can be used to represent a boolean state. It can be used as a standalone component or as part of a toggle button group. * * @slot pressed - The content to display when the toggle button is in the pressed state. */ declare class OdxToggleButton extends ButtonBase implements SelectableElement { #private; static tagName: string; static styles: import("lit").CSSResult[]; /** * Duration in milliseconds to wait before toggling back when `mode` is set to `action`. * Set to 0 or a negative value to disable automatic toggle back. */ actionTimeout: number; iconPressed?: OdxIconName | null; hintPressed?: string | null; mode: ToggleButtonMode; muted: boolean; pressed: boolean; variant: ToggleButtonVariant; value: string; get currentHint(): string | null | undefined; get currentIcon(): OdxIconName | null | undefined; constructor(); toggle(state?: boolean): void; disconnectedCallback(): void; protected willUpdate(props: PropertyValues): void; protected updated(props: PropertyValues): void; } export { OdxToggleButton, ToggleButtonMode, ToggleButtonVariant };