import { UiCurrencyValueConfig } from "../../generated/UiCurrencyValueConfig";
import { UiFieldEditingMode } from "../../generated/UiFieldEditingMode";
import { UiCurrencyFieldCommandHandler, UiCurrencyFieldConfig, UiCurrencyFieldEventSource } from "../../generated/UiCurrencyFieldConfig";
import { UiField } from "./UiField";
import { TeamAppsUiContext } from "../TeamAppsUiContext";
import { UiTextInputHandlingField_SpecialKeyPressedEvent, UiTextInputHandlingField_TextInputEvent } from "../../generated/UiTextInputHandlingFieldConfig";
import { TeamAppsEvent } from "../util/TeamAppsEvent";
import { UiCurrencyUnitConfig } from "../../generated/UiCurrencyUnitConfig";
export declare class UiCurrencyField extends UiField<UiCurrencyFieldConfig, UiCurrencyValueConfig> implements UiCurrencyFieldEventSource, UiCurrencyFieldCommandHandler {
    readonly onTextInput: TeamAppsEvent<UiTextInputHandlingField_TextInputEvent>;
    readonly onSpecialKeyPressed: TeamAppsEvent<UiTextInputHandlingField_SpecialKeyPressedEvent>;
    private trivialUnitBox;
    private queryFunction;
    private numberFormat;
    protected initialize(config: UiCurrencyFieldConfig, context: TeamAppsUiContext): void;
    private getNumberFormat;
    isValidData(v: UiCurrencyValueConfig): boolean;
    private convertToTrivialComponentsEditingMode;
    getMainInnerDomElement(): HTMLElement;
    getFocusableElement(): HTMLElement;
    hasFocus(): boolean;
    protected displayCommittedValue(): void;
    focus(): void;
    destroy(): void;
    getTransientValue(): UiCurrencyValueConfig;
    protected onEditingModeChanged(editingMode: UiFieldEditingMode): void;
    getReadOnlyHtml(value: UiCurrencyValueConfig, availableWidth: number): string;
    getDefaultValue(): UiCurrencyValueConfig;
    setCurrencyUnits(currencyUnits: UiCurrencyUnitConfig[]): void;
    setShowCurrencyBeforeAmount(showCurrencyBeforeAmount: boolean): void;
    setShowCurrencySymbol(showCurrencySymbol: boolean): void;
    valuesChanged(v1: UiCurrencyValueConfig, v2: UiCurrencyValueConfig): boolean;
    setLocale(locale: string): void;
    setFixedPrecision(fixedPrecision: number): void;
}
