/// <reference path="../../pxtlib.d.ts" />
import * as Blockly from "blockly";
import { FieldCustom } from "./field_utils";
import { BaseFieldTextDropdown, FieldTextDropdownOptions } from "./field_textdropdown";
declare class BaseFieldNumberDropdown extends BaseFieldTextDropdown {
    min_: number;
    max_: number;
    precision_: number;
    decimalPlaces: number;
    constructor(value: number | string, menuGenerator: Blockly.MenuOption[], opt_min?: number, opt_max?: number, opt_precision?: number, opt_validator?: Blockly.FieldValidator);
    setConstraints(min: number | string | undefined | null, max: number | string | undefined | null, precision: number | string | undefined | null): void;
    getValue(): string;
    private setMinInternal;
    private setMaxInternal;
    private setPrecisionInternal;
    protected doClassValidation_(newValue?: any): string;
}
export interface FieldNumberDropdownOptions extends FieldTextDropdownOptions {
    min?: number;
    max?: number;
    precision?: any;
}
export declare class FieldNumberDropdown extends BaseFieldNumberDropdown implements FieldCustom {
    isFieldCustom_: boolean;
    constructor(value: number | string, options: FieldNumberDropdownOptions, opt_validator?: Blockly.FieldValidator);
    getOptions(): [string, string][];
}
export {};
