import { IInvalidable } from '../../../Behaviors/Invalidable';
import { AutoToolTipPlacement } from '../../../Types/AutoToolTipPlacement';
import { TickPlacement } from '../../../Types/TickPlacement';
import { RangeBaseElement } from '../Abstracts/RangeBaseElement';
import { IScrubSliderElementProps } from './IScrubSliderElementProps';
declare const ScrubSliderElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Focusable").IFocusableProps) & (abstract new (...args: Array<any>) => IInvalidable & import("../../../Behaviors/Invalidable").IInvalidableProps<unknown>) & typeof RangeBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Scrub Slider – A customizable slider component for precise value selection.
 *
 * @element mosaik-scrub-slider
 *
 * @description
 * The Scrub Slider component allows users to select a value from a range with precision.
 * It supports features like ticks, tooltips, and customizable step sizes.
 *
 * @category Ranges
 *
 * @slot hint - The hint slot.
 *
 * @public
 */
export declare class ScrubSliderElement extends ScrubSliderElement_base implements IScrubSliderElementProps, IInvalidable {
    private _inputElement;
    private _step;
    private _ticks;
    private _tickPlacement;
    private _tooltipPlacement;
    private _tooltipAccessor;
    private _track;
    private _showTickLabels;
    private _tickLabelAccessor;
    private _pxPerStep;
    private _accelerate;
    private _dragging;
    private _pointerId?;
    private _lastX;
    private _pxRemainder;
    private _bgOffsetPx;
    constructor();
    static get is(): string;
    get step(): number;
    set step(value: number);
    get ticks(): number;
    set ticks(value: number);
    get tickPlacement(): TickPlacement;
    set tickPlacement(value: TickPlacement);
    get tooltipPlacement(): AutoToolTipPlacement;
    set tooltipPlacement(value: AutoToolTipPlacement);
    get tooltipAccessor(): (value: number) => string;
    set tooltipAccessor(value: (value: number) => string);
    get track(): boolean;
    set track(value: boolean);
    get showTickLabels(): boolean;
    set showTickLabels(value: boolean);
    get tickLabelAccessor(): (value: number) => string;
    set tickLabelAccessor(value: (value: number) => string);
    get pxPerStep(): number;
    set pxPerStep(v: number);
    /**
     * Accelerate the slider when dragging.
     *
     * @public
     * @default true
     */
    get accelerate(): boolean;
    set accelerate(v: boolean);
    /**
     * Checks the validity of the element and returns `true` if it is valid; otherwise, `false`.
     *
     * @public
     * @override
     */
    checkValidity(): boolean;
    protected onApplyTemplate(): void;
    private clamp;
    private applyTickOffset;
}
/** Namespace-Alias */
export declare namespace ScrubSliderElement {
    type Props = IScrubSliderElementProps;
}
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-scrub-slider': ScrubSliderElement;
    }
}
export {};
//# sourceMappingURL=ScrubSliderElement.d.ts.map