import { AutoToolTipPlacement } from '../../../Types/AutoToolTipPlacement';
import { TickPlacement } from '../../../Types/TickPlacement';
import { RangeBaseElement } from '../Abstracts/RangeBaseElement';
import type { ISliderElementProps } from './ISliderElementProps';
import { IInvalidable } from '../../../Behaviors/Invalidable';
declare const SliderElement_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;
/**
 * Slider - A user interface component that allows users to select a value from a continuous range.
 *
 * @element mosaik-slider
 *
 * @description
 * The Slider component is a graphical user interface element that enables users to choose a value from a continuous
 * range by dragging a handle along a track. Sliders are commonly used to adjust settings like volume, brightness,
 * or any numeric value within a defined range.
 *
 * @category Ranges
 *
 * @slot prefix - The prefix slot.
 * @slot suffix - The suffix slot.
 *
 *
 * @public
 */
export declare class SliderElement extends SliderElement_base implements ISliderElementProps, IInvalidable {
    private _step;
    private _ticks;
    private _tickPlacement;
    private _tooltipPlacement;
    private _tooltipAccessor;
    private _track;
    private _showTickLabels;
    private _tickLabelAccessor;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Gets or sets the `step` property.
     *
     * @public
     * @attr
     */
    get step(): number;
    set step(value: number);
    /**
     * Gets or sets the `ticks` property.
     *
     * @public
     * @attr
     */
    get ticks(): number;
    set ticks(value: number);
    /**
     * Gets or sets the `tickPlacement` property.
     *
     * @public
     * @attr
     */
    get tickPlacement(): TickPlacement;
    set tickPlacement(value: TickPlacement);
    /**
     * Gets or sets the `tooltipPlacement` property.
     *
     * @public
     * @attr
     */
    get tooltipPlacement(): AutoToolTipPlacement;
    set tooltipPlacement(value: AutoToolTipPlacement);
    /**
     * Gets or sets the `tooltipAccessor` property.
     *
     * @public
     */
    get tooltipAccessor(): (value: number) => string;
    set tooltipAccessor(value: (value: number) => string);
    /**
     * Gets or sets the `track` property.
     *
     * @public
     * @attr
     */
    get track(): boolean;
    set track(value: boolean);
    /**
     * Gets or sets the `showTickLabels` property.
     *
     * @public
     * @attr
     */
    get showTickLabels(): boolean;
    set showTickLabels(value: boolean);
    /**
     * Gets or sets the `tickLabelAccessor` property.
     *
     * @public
     */
    get tickLabelAccessor(): (value: number) => string;
    set tickLabelAccessor(value: (value: number) => string);
    /**
     * Decrements the value by the value given by the `Step` property.
     * If the optional parameter is used, it will decrement the step value multiplied by the parameter's value.
     *
     * @public
     * @param value - Value to decrement the value by.
     */
    stepDown(value?: number): void;
    /**
     * Increments the value by the value given by the `Step` property.
     * If the optional parameter is used, will increment the step value by that value.
     *
     * @public
     * @param value - Value to increment the value by.
     */
    stepUp(value?: number): void;
    /**
     * @protected
     */
    protected onApplyTemplate(): void;
}
/**
 * @public
 */
export declare namespace SliderElement {
    type Props = ISliderElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-slider': SliderElement;
    }
}
export {};
//# sourceMappingURL=SliderElement.d.ts.map