import * as Blockly from "blockly";
export declare class FieldSlider extends Blockly.FieldNumber {
    protected slider_: HTMLInputElement;
    protected readout_: HTMLSpanElement;
    protected step_: number;
    protected labelText_: string;
    private inputKeydownHandler;
    private sliderKeydownHandler;
    private sliderBlurHandler;
    private sliderPointerdownHandler;
    private keyboardControlActive;
    constructor(value?: string | number | typeof Blockly.Field.SKIP_SETUP, min?: string | number | null, max?: string | number | null, precision?: string | number | null, step?: string | number | null, labelText?: string | null, validator?: Blockly.FieldNumberValidator | null, config?: Blockly.FieldNumberConfig);
    hasMin(): boolean;
    hasMax(): boolean;
    getStep(): number;
    getLabel(): string;
    setLabel(text: string): void;
    setOptions(min: number | string, max: number | string, step: string, precision: number | string): void;
    getFieldDescription(): string;
    protected doClassValidation_(newValue?: any): number;
    protected widgetDispose_(): void;
    private addEventListeners;
    private removeEventListeners;
    private inputKeydownListener;
    private sliderPointerdownListener;
    private sliderKeydownListener;
    private sliderBlurListener;
    protected showEditor_(_e?: Event, quietInput?: boolean): void;
    protected addSlider_(contentDiv: Element): void;
    setValue(newValue: any, fireChangeEvent?: boolean): void;
    protected createSlider(): HTMLInputElement;
    protected updateDom(): void;
    protected setReadout(value: string | number): void;
    protected createLabelDom_(labelText: string): [HTMLDivElement, HTMLSpanElement];
}
