import { nothing, TemplateResult } from 'lit';
import { BahtFieldBase } from '../field-base.js';
/**
* Range slider. Two modes, one tag:
*
* - **Standalone** (no `field`): `value` / `min` / `max` / `step` / `label`; emits
* `baht-change { value }` (a number) on every input.
*
*
*
* - **Form field** (`type: 'range'`, set by ``): bounds from `field.min` /
* `field.max` / `field.step` (default 0 / 100 / 1), field label / help / error; emits
* `baht-input { key, value }` debounced while sliding and at once on release. `null`
* (untouched) parks the thumb at `min` and reads "—".
*
* @fires baht-change - Standalone mode: the slider moved. `detail: { value }`.
* @fires baht-input - Field mode: the slider moved. `detail: { key, value }`.
*/
export declare class BahtRange extends BahtFieldBase {
/** Current value. Standalone: a number. Field mode: `number | null` (null = untouched). */
value: unknown;
/** Standalone lower bound; a field uses `field.min`. */
min: number;
/** Standalone upper bound; a field uses `field.max`. */
max: number;
/** Standalone step; a field uses `field.step`. */
step: number;
/** Standalone visible label; a field uses its label. */
label: string;
/** Show the current value next to the slider. */
showValue: boolean;
private get isField();
private get bounds();
private get inputId();
private onInput;
protected renderControl(): TemplateResult;
protected render(): TemplateResult | typeof nothing;
}