import type { CommonArgs } from './common';
import type { EuiFormControlLayoutSignature } from './eui-form-control-layout';
import type { IconType } from './eui-icon';
import type { TemplateOnlyComponent } from '@ember/component/template-only';
export type EuiFieldNumberArgs = CommonArgs & {
    id?: string;
    icon?: IconType;
    isInvalid?: boolean;
    fullWidth?: boolean;
    isLoading?: boolean;
    readOnly?: boolean;
    min?: number | string;
    max?: number | string;
    value?: number | string;
    disabled?: boolean;
    /**
     * Specifies the granularity that the value must adhere to.
     * Accepts a `number` or the string `'any'` for no stepping to allow for any value.
     * Defaults to `1`
     */
    step?: number | 'any';
    inputRef?: (ele: Element) => void;
    /**
     * Creates an input group with element(s) coming before input.
     * `string` | `Component` or an array of these
     */
    prepend?: EuiFormControlLayoutSignature['Blocks']['prepend'];
    /**
     * Creates an input group with element(s) coming after input.
     * `string` | `Component` or an array of these
     */
    append?: EuiFormControlLayoutSignature['Blocks']['append'];
    /**
     * Completely removes form control layout wrapper and ignores
     * icon, prepend, and append. Best used inside EuiFormControlLayoutDelimited.
     */
    controlOnly?: boolean;
    /**
     * when `true` creates a shorter height input
     */
    compressed?: boolean;
    isPrependProvided?: boolean;
    isAppendProvided?: boolean;
    clear?: EuiFormControlLayoutSignature['Args']['clear'];
};
export interface EuiFieldNumberSignature {
    Element: HTMLInputElement;
    Args: EuiFieldNumberArgs;
    Blocks: {
        default: [string];
        prepend: [string];
        append: [string];
    };
}
declare const EuiFieldNumber: TemplateOnlyComponent<EuiFieldNumberSignature>;
export default EuiFieldNumber;
//# sourceMappingURL=eui-field-number.d.ts.map