import { LitElement } from 'lit';
import { ObcNumberInputFieldTextAlign } from '../number-input-field/number-input-field.js';
import '../icon-button/icon-button.js';
import '../../icons/icon-close-google.js';
import '../../icons/icon-backspace-google.js';
import '../button/button.js';
import '../../icons/icon-up-iec.js';
import '../../icons/icon-down-iec.js';
import '../../icons/icon-multiply.js';
import '../../icons/icon-divide.js';
import '../../icons/icon-equal.js';
import '../number-input-field/number-input-field.js';
export declare enum ObcKeyboardNumericType {
    Floating = "floating",
    Flat = "flat"
}
export declare enum ObcKeyboardNumericContent {
    Numbers = "numbers",
    Symbols = "symbols"
}
export declare class ObcKeyboardNumeric extends LitElement {
    type: ObcKeyboardNumericType;
    /** Shows the top bar with label and close button (only applicable for floating type) */
    hasTitleBar: boolean;
    /** Label displayed in the top bar */
    label: string;
    /** Current input value */
    value: string;
    /** Shows the calculation row with +, -, ×, ÷, = buttons */
    hasCalculation: boolean;
    /** Shows the #+= / 123 toggle button to switch between numbers and symbols */
    has2Symbols: boolean;
    /** Helper text content displayed below the input field */
    helperText: string;
    /** Shows a leading icon slot in the input field */
    hasLeadingIcon: boolean;
    /** Unit text (%, kg, °C, etc.) */
    unit: string;
    /** Text alignment in input field */
    inputFieldTextAlign: ObcNumberInputFieldTextAlign;
    /** Optional regex pattern for validation (applies to both keyboard and direct input) */
    validationPattern: string;
    private content;
    /** Validates if a character can be added to the current value */
    private canAddCharacter;
    /** Validates that all characters in a value are allowed */
    private isValidValue;
    private handleCloseClick;
    private handleKeyPress;
    private handleCalculationKey;
    private evaluateExpression;
    private handleBackspace;
    private handleClear;
    private handleToggleContent;
    private handleDone;
    private dispatchValueChange;
    private handleInputChange;
    private handleInputKeydown;
    private renderCalculationRow;
    private renderKeyboard;
    private renderInputField;
    protected render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-keyboard-numeric': ObcKeyboardNumeric;
    }
}
//# sourceMappingURL=keyboard-numeric.d.ts.map