import * as polytype from 'polytype';
import * as i0 from '@angular/core';
import * as i2 from '@acorex/cdk/common';
import { MXValueComponent, MXColorComponent, AXClickEvent, AXDirection, MXComponentOptionChanged } from '@acorex/cdk/common';
import * as i1 from '@angular/common';
import * as i3 from '@angular/forms';

declare const AXSliderComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXValueComponent<number>;
    ɵfac: i0.ɵɵFactoryDeclaration<MXValueComponent<any>, never>;
    ɵprov: i0.ɵɵInjectableDeclaration<MXValueComponent<any>>;
}, typeof MXColorComponent]>;
/**
 * @category
 *  A customizable slider component for selecting a value within a range.
 */
declare class AXSliderComponent extends AXSliderComponent_base {
    private _zone;
    /**
     * @event
     */
    onClick: i0.OutputEmitterRef<AXClickEvent>;
    /** @ignore */
    private _minValue;
    /**
     *  Specifies the smallest value that is valid
     */
    get minValue(): number;
    /**
     * Sets the minimum value of the slider.
     *
     * @param {number} v
     */
    set minValue(v: number);
    /** @ignore */
    private _maxValue;
    /**
     *  Specifies the greatest value that is valid
     */
    get maxValue(): number;
    /**
     * Sets the maximum value of the slider.
     *
     * @param {number} v
     */
    set maxValue(v: number);
    /** @ignore */
    private _step;
    /**
     *  Specifies the greatest value that is valid
     */
    get step(): number;
    /**
     * Sets the step increment for the slider.
     *
     * @param {number} v
     */
    set step(v: number);
    /**
     * The direction of the slider.
     *
     * @defaultValue 'horizontal'
     */
    direction: AXDirection;
    /**
     * Handles changes to internal component options.
     *
     * @param {MXComponentOptionChanged} e
     */
    internalOptionChanged(e: MXComponentOptionChanged): void;
    /**
     * Handles changes to the component's value.
     *
     * @param {number} value
     */
    internalValueChanged(value: number): void;
    /** @ignore */
    protected _handleModelChange(value: number): void;
    /** @ignore */
    private _calcVars;
    /**
     * @event
     *
     * Emits the value of the clicked input element when the click event occurs.
     */
    clickHandler(e: Event): void;
    /** @ignore */
    private get __hostClass();
    /** @ignore */
    private get __hostClassDisabled();
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSliderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AXSliderComponent, "ax-slider", never, { "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "color": { "alias": "color"; "required": false; }; "minValue": { "alias": "minValue"; "required": false; }; "maxValue": { "alias": "maxValue"; "required": false; }; "step": { "alias": "step"; "required": false; }; "direction": { "alias": "direction"; "required": false; }; }, { "valueChange": "valueChange"; "onValueChanged": "onValueChanged"; "readonlyChange": "readonlyChange"; "disabledChange": "disabledChange"; "onChange": "onChange"; "onClick": "onClick"; }, never, never, true, never>;
}

declare class AXSliderModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<AXSliderModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AXSliderModule, never, [typeof i1.CommonModule, typeof i2.AXCommonModule, typeof i3.FormsModule, typeof AXSliderComponent], [typeof AXSliderComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AXSliderModule>;
}

export { AXSliderComponent, AXSliderModule };
