import { FnConfig, TypeValidator } from "./base";
import { KeysOfType } from "../utils";
export declare class Strings<T extends string | undefined = string> extends TypeValidator<T> {
    undefined(): Strings<T | undefined>;
    required(options?: FnConfig): Strings<T>;
    notEmpty(options?: FnConfig): Strings<T>;
    min(length: number, options?: FnConfig): Strings<T>;
    max(length: number, options?: FnConfig): Strings<T>;
    includes(substring: string, options?: FnConfig): Strings<T>;
    includesAll(substrings: string[], options?: FnConfig): Strings<T>;
    startsWith(prefix: string, options?: FnConfig): Strings<T>;
    endsWith(suffix: string, options?: FnConfig): Strings<T>;
    matches(pattern: RegExp, options?: FnConfig): Strings<T>;
    email(options?: FnConfig): Strings<T>;
    phone(options?: FnConfig): Strings<T>;
    url(options?: FnConfig): Strings<T>;
    date(options?: FnConfig): Strings<T>;
    time(options?: FnConfig): Strings<T>;
    hexColor(options?: FnConfig): Strings<T>;
    creditCard(options?: FnConfig): Strings<T>;
    htmlTag(options?: FnConfig): Strings<T>;
    base64(options?: FnConfig): Strings<T>;
    alphanumeric(options?: FnConfig): Strings<T>;
    numeric(options?: FnConfig): Strings<T>;
    alpha(options?: FnConfig): Strings<T>;
    as<TO extends Record<string, any>>(key: KeysOfType<TO, string>, options?: FnConfig): this;
}
