import { EventEmitter } from '../../../stencil-public-runtime';
import { FormRangeSizesType } from './constants';
import { Attributes } from "../../../helpers/Dom/attribute";
import { FormInputEvent } from "../input/gov-form-input.types";
export declare class GovFormRange {
    private inputRef?;
    private outputRef?;
    private fillRef?;
    private f;
    private readonly h;
    private readonly inputId;
    private attributeObserver;
    constructor();
    host: HTMLGovFormRangeElement;
    /**
     * Range’s size
     */
    readonly size?: FormRangeSizesType;
    /**
     * Value of range
     */
    value: string;
    /**
     * Custom range identifier
     */
    readonly identifier: string;
    /**
     * Name of the range
     */
    readonly name: string;
    /**
     * Minimum value that is acceptable
     */
    readonly min?: string | number;
    /**
     * Maximum value that is acceptable
     */
    readonly max?: string | number;
    /**
     * Defines size of each step
     */
    readonly step?: string | number;
    /**
     * Show tooltip with current value
     */
    readonly tooltip?: boolean;
    /**
     * Show input with current value
     */
    readonly input?: boolean;
    /**
     * Links a <datalist/> element to a <input type="range">, providing value markers as guidance for the user
     */
    readonly listIdentifier?: string;
    /**
     * Set whether the range is required or not
     */
    readonly required: boolean;
    /**
     * Indicates the entered value of child form element does conform to the format expected by the application
     */
    readonly success: boolean;
    /**
     * Indicates the entered value does not conform to the format expected by the application
     */
    readonly invalid: boolean;
    /**
     * Makes the range component disabled
     */
    readonly disabled: boolean;
    /**
     * Emitted when the input has focus.
     */
    govFocus: EventEmitter<FormInputEvent>;
    /**
     * Emitted when the input loses focus.
     */
    govBlur: EventEmitter<FormInputEvent>;
    /**
     * Emitted when the input change value.
     */
    govInput: EventEmitter<FormInputEvent>;
    validateSize(newValue: string): void;
    watchValue(): void;
    watchControlAttrs(): void;
    inheritedAttributes: Attributes;
    private passControlAttrs;
    private get getThumbWidth();
    private controlOutputPosition;
    componentDidLoad(): void;
    componentWillLoad(): void;
    componentDidRender(): void;
    onAriaAttributeChange(attributeName: string, newValue: string): void;
    disconnectedCallback(): void;
    render(): any;
    onCustomInputHandler(e: InputEvent): boolean;
    private onInputHandler;
    private onFocusHandler;
    private onBlurHandler;
    /**
     * Returns the current state of the component
     */
    setFocus(options?: FocusOptions): Promise<void>;
    /**
     * Sets the ordered value of the element
     */
    setValue(value: string): Promise<void>;
    /**
     * Clears input value
     */
    clearValue(): Promise<void>;
    /**
     * Returns an instance of the native html input element
     */
    getRef(): Promise<HTMLInputElement>;
}
