import { EventEmitter } from "../../stencil-public-runtime";
export type SliderUnitPosition = 'left' | 'right';
export declare class XSlider {
    /**
     * Element input name for forms keys
     */
    name?: string;
    /**
     * Element input required for forms validations
     */
    required: boolean;
    /**
     * Element show loading and block for edit
     */
    loading: boolean;
    /**
     * Element enable internal validation
     */
    validate: boolean;
    /**
     * The minimum value of the element
     */
    min?: number;
    /**
     * The maximum value of the element
     */
    max?: number;
    /**
     * The step value of the element
     */
    step?: number | null;
    /**
     * The value of the element
     */
    value?: number | null;
    /**
     * The label of the element
     */
    label?: string;
    /**
     * The unit of the element
     */
    unit?: string;
    /**
     * The unit position of the element
     */
    unitPosition: SliderUnitPosition;
    /**
     * The decimals of the element
     */
    decimals?: number;
    /**
     * On validate input event
     */
    onValidateInputEvent: EventEmitter<HTMLObjectElement>;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Element internal
     */
    internals: ElementInternals;
    /**
     * Input loading state
     */
    isLoading: boolean;
    /**
     * Input diabled state
     */
    isDisabled: boolean;
    /**
     * Form input validation state
     */
    isValid: boolean;
    /**
     * Validate the input and get the validation result
    */
    checkValidity(): Promise<boolean>;
    /**
     * This is called when the 'disabled' attribute of the element or or an ancestor <fieldset> is updated
     *
     * @param disabled
     */
    formDisabledCallback(disabled: boolean): void;
    /**
     * This is called when the parent/owner form is reset
     */
    formResetCallback(): void;
    /**
     * On input trigger changes event
     *
     * @param e
     */
    onInput(e: InputEvent): void;
    /**
     * On resize trigger changes event
     */
    onResize(): void;
    /**
     * This called on input field is unfocused
     */
    onBlurInput(): void;
    /**
     * Validate the field input
     *
     * @returns
     */
    onValidate(): void;
    /**
     * Update the element value
     */
    updateValue(): void;
    /**
     * Update the element value position
     */
    updateValuePosition(): void;
    /**
     * Update the element labels
     */
    updateLabels(): void;
    /**
     * Update the element progress
     */
    updateProgress(): void;
    /**
     * Setup the element ticks
     */
    setTicks(): void;
    /**
     * Get the actual slider percent
     *
     * @returns
     */
    getSliderPercent(): number;
    /**
     * Before mount the element
     */
    componentDidLoad(): void;
    /**
     * Render element
     */
    render(): any;
}
