import { Rules } from "./Rules/Rules";
import { IRuleConditionalCallbackArg, IRuleOptions, IRulesSchema } from "../interfaces/RulesInterface";
import { IDataTypesSettings, IDataTypesSettingsDefault, IDataTypesValidateOptions, IDataTypesValidateResponse } from "../interfaces/DataTypesInterface";
import { ObjectOfRules } from "./Rules/types/ObjectOfRules";
import { StringRules } from "./Rules/types/StringRules";
import { ConditionalRules } from "./Rules/types/ConditionalRules";
import { ArrayOfRules } from './Rules/types/ArrayOfRules';
import { NumberRules } from "./Rules/types/NumberRules";
import { AlternativeRules } from "./Rules/types/AlternativeRules";
export declare class DataTypes {
    static readonly string: StringRules;
    static readonly number: NumberRules;
    static settings(settings?: IDataTypesSettings): IDataTypesSettingsDefault;
    static objectOf(schema: IRulesSchema, options?: IRuleOptions): ObjectOfRules;
    static isString(options?: IRuleOptions): StringRules;
    static isNumber(options?: IRuleOptions): NumberRules;
    static conditional(callback: IRuleConditionalCallbackArg): ConditionalRules;
    static arrayOf(rules: Rules | IRulesSchema): ArrayOfRules;
    static alternatives(...handlers: Rules[]): AlternativeRules;
    static validate(schema: IRulesSchema, data: any, options?: IDataTypesValidateOptions): Promise<IDataTypesValidateResponse>;
    private static defaultSettings;
}
//# sourceMappingURL=DataTypes.d.ts.map