export * from './error';
/**
 * Validate if a value is `null` or `undefined`.
 *
 * @param value - The Value to test.
 * @returns If a value is `null` or `undefined`.
 */
export declare const isNullOrUndefined: (value?: any) => boolean;
/**
 * Validate if a value is a valid string or not.
 *
 * @param value - The value to validate.
 * @param allowEmpty - [allowEmpty=false] If a empty string should be valid
 * or not.
 * @param size - [size=undefined] The maximum size of the string.
 * @returns If the string is valid or not.
 */
export declare const isValidString: (value?: any, allowEmpty?: boolean, size?: number | undefined) => boolean;
/**
 * Validate if the provided string is a valid email address.
 *
 * @param email - String to validate as email.
 * @returns Wether an email is valid or not.
 */
export declare const isValidEmail: (email: string) => boolean;
/**
 * Validate if a string is a valid number.
 *
 * @param stringToTest - The string to validate as a number.
 * @param allowZero - [allowZero=false] If the string should accept 0 as a valid number.
 * @param allowNegative - [allowNegative=false] If the string should negative values.
 *
 * @returns If the string is valid number or not.
 */
export declare const isValidNumber: (stringToTest: string, allowZero?: boolean, allowNegative?: boolean) => boolean;
/**
 * Validate if a number is a valid integer.
 *
 * @param numberToTest - The number to validate as integer.
 * @param allowZero - [allowZero=false] If the number should accept 0 as a valid number.
 * @param allowNegative - [allowNegative=false] If the number should negative values.
 *
 * @returns If the number is a valid integer.
 */
export declare const isValidInteger: (numberToTest: number, allowZero?: boolean, allowNegative?: boolean) => boolean;
/**
 * Validate if the provided string is a valid Date.
 *
 * @param date - String date.
 * @param format - The format with wich the date is going to be
 * processed.
 *
 * @returns Is valid date.
 */
export declare const isValidDate: (date: string, format?: string | undefined) => boolean;
declare type FileValue = {
    id?: string;
    fileId: string;
    filename: string;
    mimetype?: string;
    download_Url?: string;
};
/**
 * Validate if a file has a valid type/extension based on a array of valid
 * types.
 *
 * @param file - The file to validate.
 * @param validTypes - Array of valid types.
 * @returns If the file is valid or not.
 */
export declare const isValidFileType: (file: FileValue, validTypes: string[]) => boolean;
/**
 * Validate if the provided string is a valid phone number.
 *
 * @param {string} number - Phone number to validate.
 * @returns {boolean} Is valid or not.
 */
export declare const isValidPhoneNumber: (number: string) => boolean;
/**
 * Validates that the string provided is not larger that the max value.
 *
 * @example ("someString", 3)  => Error // 3 was provided, so this function will throw an error.
 * @example ("someOtherString", 20)  => true // 20 was provided, the function will return true.
 *
 * @param {string} string - String to limit.
 * @param {number} max - Maximum boundary.
 * @returns {boolean} If the string length is lower that max.
 */
export declare const validateStringLength: (string: string, max: number) => boolean;
/**
 * Validates a standardized name string.
 *
 * @example ("Gabriel", 0, 7)  => true // This is a valid name with length 7.
 * @example ("John", 2, 3)  => Error // John is 4 characters long.
 * @example ("童阮", 1, 5)  => Error // Contains non-standardized characters.
 *
 * @param {string} name - Name to check.
 * @param {number} minLength - Minimum boundary.
 * @param {number} maxLength - Maximum boundary.
 * @returns {boolean} If the name is valid and matches given criteria.
 */
export declare const isValidName: (name: string, minLength: number, maxLength: number) => boolean;
