import React$1, { DetailedHTMLProps } from "react";
import { JBNumberInputWebComponent } from "jb-number-input";
import { BaseProps } from "jb-input/react";

//#region modules/jb-core/react/dist/index.d.ts
//#endregion
//#region modules/jb-core/react/lib/types/index.d.ts
type ReactElementStandardProps<TElement = HTMLElement> = DetailedHTMLProps<React.HTMLAttributes<TElement>, TElement>;
type JBElementStandardProps<TElement = HTMLElement, TOmit extends string = never> = Omit<ReactElementStandardProps<TElement>, 'ref' | 'key' | TOmit>; //#endregion
//#endregion
//#region modules/jb-number-input/react/lib/module-declaration.d.ts
declare module "react" {
  namespace JSX {
    interface IntrinsicElements {
      'jb-number-input': JBNumberInputType;
    }
    interface JBNumberInputType extends React.DetailedHTMLProps<React.HTMLAttributes<JBNumberInputWebComponent>, JBNumberInputWebComponent> {
      class?: string;
      label?: string;
      name?: string;
      message?: string;
      placeholder?: string;
      value?: string;
      initialValue?: string;
    }
  }
}
//#endregion
//#region modules/jb-number-input/react/lib/JBNumberInput.d.ts
declare const JBNumberInput: React$1.ForwardRefExoticComponent<JBElementStandardProps<JBNumberInputWebComponent, keyof import("jb-input/react").JBInputAttributes & import("jb-input/react").DirectProps> & {
  children?: React$1.ReactNode | undefined;
} & import("jb-input/react").JBInputEvents<JBNumberInputWebComponent> & import("jb-input/react").JBInputAttributes & import("jb-input/react").DirectProps & {
  initialValue?: string | number | null;
  minValue?: number;
  maxValue?: number;
  acceptNegative?: boolean;
  decimalPrecision?: number;
  showThousandSeparator?: boolean;
  thousandSeparator?: string;
  step?: number;
  showPersianNumber?: boolean;
  showControlButton?: boolean;
} & React$1.RefAttributes<JBNumberInputWebComponent | undefined>>;
type Props = BaseProps<JBNumberInputWebComponent> & {
  initialValue?: string | number | null;
  minValue?: number;
  maxValue?: number;
  acceptNegative?: boolean;
  decimalPrecision?: number;
  showThousandSeparator?: boolean;
  thousandSeparator?: string;
  step?: number;
  showPersianNumber?: boolean;
  showControlButton?: boolean;
};
//#endregion
export { JBNumberInput, Props };