import { LitElement, TemplateResult, PropertyValues } from 'lit';
export declare enum ObcNumberInputFieldTextAlign {
    Center = "center",
    Right = "right",
    RightUnitOutside = "right-unit-outside"
}
export declare enum ObcNumberInputFieldSize {
    Regular = "regular",
    Large = "large"
}
export declare enum ObcNumberInputFieldPlacement {
    Left = "left",
    Center = "center",
    Right = "right"
}
/**
 * `<obc-number-input-field>` – A specialized input field for numerical values with optional unit display.
 *
 * @slot leading-icon - Icon displayed before the input value (when `hasLeadingIcon` is true)
 * @slot label-icon - Icon displayed before the label text (when `hasLabelIcon` is true)
 * @slot helper-icon - Icon displayed before helper or error text (when `hasHelperIcon` is true)
 * @fires input - Standard input event on value change
 */
export declare class ObcNumberInputField extends LitElement {
    value: string;
    unit: string;
    placeholder: string;
    textAlign: ObcNumberInputFieldTextAlign;
    disabled: boolean;
    readonly: boolean;
    error: boolean;
    errorText: string;
    /** If true, the input field will not update its value on focus */
    rejectUpdatesOnFocus: boolean;
    /** If true, the value will only be initially set, and not updated on change */
    rejectUpdates: boolean;
    /** If true, the input field will not update its value if the value is the same as the previous value
     * This is useful to avoid React re-rendering to reset the value.
     */
    rejectDuplicateUpdates: boolean;
    /** Name attribute for form integration */
    name: string;
    /** Maximum number of characters allowed */
    maxlength?: number;
    /** Minimum number of characters required */
    minlength?: number;
    size: ObcNumberInputFieldSize;
    hasLeadingIcon: boolean;
    helperText: string;
    label: string;
    required: boolean;
    hasLabelIcon: boolean;
    labelPlacement: ObcNumberInputFieldPlacement;
    hasHelperIcon: boolean;
    helperPlacement: ObcNumberInputFieldPlacement;
    /** Internal property for squared corners, used when input is used in stepper-box */
    squared: boolean;
    private hasFocus;
    private previousValue;
    private previousInputElementValue;
    private inputElement?;
    private onInput;
    private onFocus;
    private onBlur;
    private get shouldUpdateValue();
    willUpdate(changedProperties: PropertyValues): void;
    updated(): void;
    private renderFooterText;
    render(): TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-number-input-field': ObcNumberInputField;
    }
}
//# sourceMappingURL=number-input-field.d.ts.map