import { utils } from '@qubejs/core';
declare const Validator: typeof utils.validator.Validator, addValidator: (name: any, fn: any) => void, getValidators: () => {
    required: (value: any, { required, defaultValue }: {
        required: any;
        defaultValue: any;
    }, fields: any) => boolean;
    fieldName: (value: any) => any;
    path: (value: any) => any;
    oneOf: (value: any, { options }?: any) => boolean;
    requiredArray: (value: any, { required }: {
        required: any;
    }, fields: any) => boolean;
    startsWith: (value: any, { startsWith }: {
        startsWith: any;
    }) => any;
    endsWith: (value: any, { endsWith }: {
        endsWith: any;
    }) => any;
    email: (value: any) => any;
    and: (value: any, { validations, ...options }: {
        [x: string]: any;
        validations?: any[];
    }, otherFields: any) => boolean;
    or: (value: any, { validations, ...options }: {
        [x: string]: any;
        validations?: any[];
    }, otherFields: any) => boolean;
    exists: (value: any) => boolean;
    notExists: (value: any) => boolean;
    digits: (value: any, { length }: {
        length: any;
    }) => boolean;
    decimals: (value: any, { length, negative, decimals }: {
        length: any;
        negative?: boolean;
        decimals?: number;
    }) => boolean;
    compareField: (value: any, { fieldName, compare, trim }: {
        fieldName: any;
        compare?: string;
        trim?: boolean;
    }, otherFields: any) => boolean;
    number: (value: any, options?: any) => boolean;
    custom: (value: any, options?: any, ...params: any[]) => boolean;
    phone: (value: any, { optional }?: {
        optional?: boolean;
    }) => boolean;
    internationalphone: (value: any) => any;
    regex: (value: any, options: any) => any;
    strongPassword: (value: any) => any;
    length: (value: any, options: any) => boolean;
    arrayLength: (value: any, options: any) => boolean;
    emailphone: (value: any) => any;
    emailinternationalphone: (value: any) => any;
    date: (value: any, { min, max }?: any) => boolean;
    dateFromStr: (value: any, { format }: {
        format?: string;
    }) => boolean;
    Validator: (value: any, { validators, optional }: any, fields: any) => {
        custom: boolean;
        isValid: boolean;
        errors: any;
    };
    listValidator: (value: any, { validator, optional, ...options }?: any) => boolean;
    ArrayValidator: (value: any, { validators, optional }?: any) => false | {
        custom: boolean;
        isValid: boolean;
        errors: {};
    };
    password: (value: any) => boolean;
    postalCN: (value: any) => any;
    options: (value: any, config: {}, values: any) => boolean;
    array: (value: any, config?: any) => boolean;
}, addMessage: (name: any, message: any) => void, getMessages: () => {
    options: () => string;
    required: () => string;
    path: () => string;
    compareField: () => string;
    emailphone: () => string;
    listValidator: () => string;
    startsWith: (props: any) => string;
    endsWith: (props: any) => string;
    emailinternationalphone: () => string;
    email: () => string;
    fieldName: () => string;
    array: () => string;
    length: ({ exact, min, max }: {
        exact: any;
        min: any;
        max: any;
    }) => string;
    arrayLength: ({ exact, min, max }: {
        exact: any;
        min: any;
        max: any;
    }) => string;
    phone: () => string;
    internationalphone: () => string;
    password: () => string;
    postalCN: () => string;
    strongPassword: () => string;
}, setObject: (obj: any) => void;
export { Validator, addValidator, getValidators, addMessage, getMessages, setObject };
