import { Schema } from '../core/schema';
import { PhoneNumberInfo } from '../phoneNumbers';
import { PostalCodeInfo } from '../postalCodes';
import { NullableType } from '../types/types';
export declare class StringSchema = string, Final = any> extends Schema {
protected message: string;
protected rule: (value: string) => boolean;
protected getRequiredStringCondition: (value: string) => value is "";
protected getNotRequiredStringCondition: (value: string) => boolean;
/**
* Checks if has a size bigger than minValue
* @param minValue min string length
* @param message @option Overrides default message
*/
min(minValue: number, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if has a size smaller than maxValue
* @param maxValue max string length
* @param message @option Overrides default message
*/
max(maxValue: number, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is between minValue and maxValue.
* @param minValue min number value
* @param maxValue max number value
* @param message @option Overrides default message
*/
between(minValue: number, maxValue: number, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string has `maxValue` length
* @param length string length
* @param message @option Overrides default message
*/
length(length: number, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is equal to value.
* @param value to equal
* @param message @option Overrides default message
*/
equals(value: string | string[], message?: string): import('..').ObjectPropertiesSchema;
/**
* Matches regular expression
* @param reg Regular expression
* @param message @option Overrides default message
*/
pattern(reg: RegExp, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is empty
* @param message @option Overrides default message
*/
empty(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string contains value
* @param value value to check if contains
* @param message @option Overrides default message
*/
contains(value: string, message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string contains only numeric characters
* @param message @option Overrides default message
*/
numeric(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string contains only alpha characters
* @param message @option Overrides default message
*/
alpha(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string contains only alpha-numeric characters
* @param message @option Overrides default message
*/
alphanum(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string contains only contains alpha-numeric characters, as well as dashes and underscores.'
* @param message @option Overrides default message
*/
alphadash(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is hexadecimal.
* @param message @option Overrides default message
*/
hex(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is base64.
* @param message @option Overrides default message
*/
base64(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is format uuid.
* @param message @option Overrides default message
*/
uuid(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is URL accepted
* @param message @option Overrides default message
*/
url(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if string is format cuid.
* @param message @option Overrides default message
*/
cuid(message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is a valid email.
* @param mode @option Defines if is basic or precise validation
* @param message @option Overrides default message
*/
email(mode?: 'basic' | 'precise', message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is a valid postalCode.
* @param postalCode postal code to validate or a function which we can return desired postal code
* @param message @option Overrides default message
*/
postalCode(postalCode: PostalCodeInfo | ((value: NonNullable, form: any) => PostalCodeInfo), message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is a valid phoneNumber.
* @param phoneNumber phone number to validate or a function which we can return desired phone number
* @param message @option Overrides default message
*/
phoneNumber(phoneNumber: PhoneNumberInfo | ((value: NonNullable, form: any) => PhoneNumberInfo), message?: string): import('..').ObjectPropertiesSchema;
/**
* Checks if is a value of enum.
* @param enumObject enum
* @param message @option Overrides default message
*/
enum(enumObject: T, message?: string): StringSchema;
}
export declare const string: (message?: string) => StringSchema;