import { ISanitizeOptions, ISchema, ISchemaInstance, ISchemaOptions } from './schema';
export declare type NumberInstance = ISchemaInstance<number>;
export interface INumberOptions extends ISchemaOptions<NumberInstance> {
    default?: number | (() => number);
    integer?: boolean;
    min?: number;
    max?: number;
}
export declare class NumberSchema implements ISchema<number, NumberInstance, number> {
    readonly options: INumberOptions;
    constructor(options?: INumberOptions);
    create(value: any, sanitizeOptions?: ISanitizeOptions): NumberInstance;
    toObject(instance: NumberInstance): number;
    validate(instance: NumberInstance): Promise<void>;
    protected sanitize(value: any, sanitizeOptions?: ISanitizeOptions): number;
}
