import { LuxenElement } from '../../shared/luxen-element.js'; export type InputStepperSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; /** Fired when the stepper value changes. Bubbles; not composed. */ export declare class StepperChangeEvent extends Event { readonly value: number; constructor(value: number); } interface InputStepperEventMap { change: StepperChangeEvent; } /** * A stepper control that enhances a native `` with * decrement/increment buttons and an optional animated number track. * * @link https://www.nngroup.com/articles/input-steppers/ * * @example * ```html * * * * ``` * * @event change - Fired when the value changes. Bubbles. Properties: `value: number`. * * @cssproperty --border-color - Border color of the stepper container (default appearance) and of each button (rounded appearance). Defaults to `--l-color-border`. * @cssproperty --border-radius - Border radius of the stepper container (default appearance). Defaults to `--radius-md`. * * @customElement l-input-stepper */ export declare class InputStepper extends LuxenElement { private _localize; createRenderRoot(): this; /** Minimum allowed value. Falls back to the input's `min` attribute. */ min?: number; /** Maximum allowed value. Falls back to the input's `max` attribute. */ max?: number; /** Step increment. Falls back to the input's `step` attribute. */ step?: number; /** Control size. */ size: InputStepperSize; /** Enable the animated number roller overlay. */ withRoller: boolean; /** Icon name for the decrement button. */ decrementIcon: string; /** Icon name for the increment button. */ incrementIcon: string; private _initialized; private _setupTimer; private _input; private _decrementBtn; private _incrementBtn; private _valueWrapper; private _trackDisplay; private _track; private _observer; private _skipTransition; connectedCallback(): void; disconnectedCallback(): void; /** @returns true when setup ran or was already done; false to schedule a retry. */ private _trySetup; updated(changed: Map): void; /** Decrease the value by one step. */ decrement(): void; /** Increase the value by one step. */ increment(): void; private _setup; private _teardown; private _createButton; private _buildTrack; private _rebuildTrackNumbers; private _getConstraints; private _syncConstraints; private _applyValue; private _updateTrack; private _updateButtonStates; private _onDecrement; private _onIncrement; private _onInputChange; } export interface InputStepper { addEventListener(type: K, listener: (this: InputStepper, ev: InputStepperEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: InputStepper, ev: InputStepperEventMap[K]) => void, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } export {}; //# sourceMappingURL=input-stepper.d.ts.map