/// <reference types="../../index.d.ts" />
import { JsxNode, PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';

/**
 * Labeled switch component shows a label, a switch, and optionally an icon with a tooltip for hints.
 * Used by grid controls, snapping controls, etc.
 *
 * @private
 */
export declare class LabeledSwitch extends LitElement {
    /**
     * Tracks the state of the switch.
     *
     * @default false
     */
    checked: boolean;
    /**
     * Used to disable the switch.
     *
     * @default false
     */
    disabled: boolean;
    /** Label to display alongside the switch. */
    label?: string;
    /** Hint shown when user hovers over the hint icon. */
    hint?: string;
    /** Icon to show for the hint. Common values are "warning" and "information" */
    hintIcon?: string;
    /**
     * Controls the presentation of the hint icon. Uses a yellow color if set to warning.
     *
     * @default "info"
     */
    hintKind: "info" | "warning";
    /** Permanently destroy the component. */
    destroy(): Promise<void>;
    /** Emitted when the switch is toggled. Event detail is the new checked state. */
    readonly arcgisCheckedChanged: TargetedEvent<this, boolean>;
}
