import { EventEmitter } from "../../stencil-public-runtime";
export declare class XQuantity {
    /**
     * Input element
     */
    private input;
    /**
     * Element input name for forms keys
     */
    name?: string;
    /**
     * Element minimal number limit, default is 0
     */
    min: number;
    /**
     * Element maximun number limit,default is infinite
     */
    max: number;
    /**
     * Element initial input value
     */
    value?: number;
    /**
     * Element input required for forms validations
     */
    required: boolean;
    /**
     * Element number value
     */
    number: number;
    /**
     * Form input validation state
     */
    isValid: boolean;
    /**
     * Input diabled state
     */
    isDisabled: boolean;
    /**
     * Substraction event button click
     */
    onSubInputEvent: EventEmitter<number>;
    /**
     * Sumarize event button click
     */
    onSumInputEvent: EventEmitter<number>;
    /**
     * On validate input event
     */
    onValidateInputEvent: EventEmitter<ElementInternals>;
    /**
     * Watch changes in value property
     */
    watchValue(value: string | number): void;
    /**
     * Element reference
     */
    el: HTMLElement;
    /**
     * Attach element to form elements
     */
    internals: ElementInternals;
    /**
     * 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;
    /**
     * This is called when the input is validated
     */
    formValidateCallback(dispatchValidation?: boolean): void;
    /**
     * On component will load action
     */
    componentWillLoad(): void;
    /**
     * This is called on component did load
     */
    componentDidLoad(): void;
    /**
     * This called on input field is unfocused
     */
    onBlurInput(): void;
    /**
     * On element change input value
     *
     * @param event
     */
    handleChange(event: InputEvent): void;
    /**
     * Increment number value
     *
     * @returns
     */
    onPlusClick(): void;
    /**
     * Decrement number value
     *
     * @returns
     */
    onMinusClick(): void;
    /**
     * Render element
     */
    render(): any;
}
