import { default as React } from 'react';
import { NumberInputProps, MantineSize } from '@mantine/core';
import { ArchbaseDataSource } from '@archbase/data';
export interface ArchbaseNumberStepperProps<T extends object, ID> extends Omit<NumberInputProps, 'value' | 'onChange'> {
    /** Fonte de dados */
    dataSource?: ArchbaseDataSource<T, ID>;
    /** Campo do DataSource */
    dataField?: string;
    /** Valor controlado */
    value?: number | string;
    /** Valor padrão */
    defaultValue?: number | string;
    /** Callback de mudança */
    onChange?: (value: number | string) => void;
    /** Valor mínimo */
    min?: number;
    /** Valor máximo */
    max?: number;
    /** Passo de incremento */
    step?: number;
    /** Número de casas decimais */
    decimalScale?: number;
    /** Se deve fixar casas decimais */
    fixedDecimalScale?: boolean;
    /** Separador de milhar */
    thousandSeparator?: string | boolean;
    /** Separador decimal */
    decimalSeparator?: string;
    /** Prefixo */
    prefix?: string;
    /** Sufixo */
    suffix?: string;
    /** Comportamento ao atingir limite */
    clampBehavior?: 'strict' | 'blur' | 'none';
    /** Se permite valores negativos */
    allowNegative?: boolean;
    /** Se permite entrada decimal */
    allowDecimal?: boolean;
    /** Se deve esconder controles */
    hideControls?: boolean;
    /** Tamanho */
    size?: MantineSize;
    /** Se está desabilitado */
    disabled?: boolean;
    /** Se é somente leitura */
    readOnly?: boolean;
    /** Label */
    label?: string;
    /** Descrição */
    description?: string;
    /** Erro */
    error?: string | boolean;
    /** Se é obrigatório */
    required?: boolean;
    /** Placeholder */
    placeholder?: string;
    /** Largura */
    width?: number | string;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare const ArchbaseNumberStepper: <T extends object = any, ID = string>(props: ArchbaseNumberStepperProps<T, ID> & {
    ref?: React.Ref<HTMLInputElement>;
}) => React.ReactElement;
