import * as Blockly from "blockly";
/**
 * This is the same as the Blockly variable field but with the addition
 * of a "New Variable" option in the dropdown
 */
export declare class FieldVariable extends Blockly.FieldVariable {
    static CREATE_VARIABLE_ID: string;
    static dropdownCreate(this: FieldVariable): Blockly.MenuOption[];
    constructor(varName: string | null | typeof Blockly.Field.SKIP_SETUP, validator?: Blockly.FieldVariableValidator, variableTypes?: string[], defaultType?: string, config?: Blockly.FieldVariableConfig);
    protected onItemSelected_(menu: Blockly.Menu, menuItem: Blockly.MenuItem): void;
    private svgRootBinding;
    private fieldRootBinding;
    private clickTargetRect;
    initView(): void;
    shouldAddBorderRect_(): boolean;
    protected bindEvents_(): void;
    dispose(): void;
    protected positionBorderRect_(): void;
    protected showEditor_(e?: MouseEvent): void;
    getValue(): string | null;
}
