import { MixedLocale } from './locale'; import type { AnyObject, Maybe, Message } from './types'; import type Reference from './Reference'; import type { Defined, If, Thunk } from './util/types'; import BaseSchema from './schema'; export declare function create(): NumberSchema, number | undefined>; export declare namespace create { var prototype: NumberSchema; } export default class NumberSchema = number | undefined, TContext extends AnyObject = AnyObject, TOut extends TType = TType> extends BaseSchema { constructor(); protected _typeCheck(value: any): value is NonNullable; min(min: number | Reference, message?: Message<{ min: number; }>): this; max(max: number | Reference, message?: Message<{ max: number; }>): this; lessThan(less: number | Reference, message?: Message<{ less: number; }>): this; moreThan(more: number | Reference, message?: Message<{ more: number; }>): this; positive(msg?: Message<{ more: number; }>): this; negative(msg?: Message<{ less: number; }>): this; integer(message?: Message<{}>): this; truncate(): this; round(method: 'ceil' | 'floor' | 'round' | 'trunc'): this; } export default interface NumberSchema = number | undefined, TContext extends AnyObject = AnyObject, TOut extends TType = TType> extends BaseSchema { concat>(schema: TOther): TOther; default>(def: Thunk): If, NumberSchema, TContext>>; defined(msg?: MixedLocale['defined']): DefinedNumberSchema; required(msg?: MixedLocale['required']): RequiredNumberSchema; optional(): NumberSchema; notRequired(): NumberSchema; nullable(isNullable?: true): NumberSchema; nullable(isNullable: false): NumberSchema, TContext>; } export interface DefinedNumberSchema, TContext extends AnyObject = AnyObject> extends NumberSchema> { default>(def: Thunk): If, DefinedNumberSchema, TContext>>; defined(msg?: MixedLocale['defined']): this; required(msg?: MixedLocale['required']): RequiredNumberSchema; optional(): NumberSchema; notRequired(): NumberSchema; nullable(isNullable?: true): RequiredNumberSchema; nullable(isNullable: false): RequiredNumberSchema, TContext>; } export interface RequiredNumberSchema, TContext extends AnyObject = AnyObject> extends NumberSchema> { default>(def: Thunk): If, RequiredNumberSchema, TContext>>; defined(msg?: MixedLocale['defined']): DefinedNumberSchema; required(msg?: MixedLocale['required']): RequiredNumberSchema; optional(): NumberSchema; notRequired(): NumberSchema; nullable(isNullable?: true): RequiredNumberSchema; nullable(isNullable: false): RequiredNumberSchema, TContext>; }