import { AbstractControl } from '@angular/forms';
/**
 * https://kubernetes.io/zh/docs/concepts/overview/working-with-objects/names/
  const dns1123LabelFmt string = "[a-z0-9]([-a-z0-9]*[a-z0-9])?"
  const dns1123SubdomainFmt string = dns1123LabelFmt + "(\\." + dns1123LabelFmt + ")*"
  const dns1123SubdomainErrorMsg string = "a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character"

  // DNS1123SubdomainMaxLength is a subdomain's max length in DNS (RFC 1123)
  const DNS1123SubdomainMaxLength int = 253

  var dns1123SubdomainRegexp = regexp.MustCompile("^" + dns1123SubdomainFmt + "$")

  // IsDNS1123Subdomain tests for a string that conforms to the definition of a
  // subdomain in DNS (RFC 1123).
  func IsDNS1123Subdomain(value string) []string {
    var errs []string
    if len(value) > DNS1123SubdomainMaxLength {
      errs = append(errs, MaxLenError(DNS1123SubdomainMaxLength))
    }
    if !dns1123SubdomainRegexp.MatchString(value) {
      errs = append(errs, RegexError(dns1123SubdomainErrorMsg, dns1123SubdomainFmt, "example.com"))
    }
    return errs
  }
 */
export declare function DNS1123SubdomainValidator(ctrl: AbstractControl): {
    domain: boolean;
};
