import { type Intersection, type JsonSchema } from "@ark/schema"; import { type Json } from "@ark/util"; import type { To } from "../attributes.ts"; import type { Module, Submodule } from "../module.ts"; export declare const regexStringNode: (regex: RegExp, description: string, jsonSchemaFormat?: JsonSchema.Format) => Intersection.Node; export declare const stringInteger: stringInteger.module; export declare namespace stringInteger { type module = Module; type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } declare const base64: Module<{ root: unknown; url: unknown; }>; declare namespace base64 { type module = Module; type submodule = Submodule<$>; type $ = { root: string; url: string; }; } export declare const capitalize: capitalize.module; export declare namespace capitalize { type module = Module; type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } export declare const isLuhnValid: (creditCardInput: string) => boolean; export declare const creditCard: import("@ark/schema").BaseRoot; type DayDelimiter = "." | "/" | "-"; type DayPart = DayPatterns[PartKey]; type PartKey = keyof DayPatterns; type DayPatterns = { y: "yy" | "yyyy"; m: "mm" | "m"; d: "dd" | "d"; }; type fragment = `${delimiter}${part}` | ""; export type DayPattern = delimiter extends unknown ? { [k1 in keyof DayPatterns]: { [k2 in Exclude]: `${DayPatterns[k1]}${fragment}${fragment], delimiter>}`; }[Exclude]; }[keyof DayPatterns] : never; export type DateFormat = "iso" | DayPattern; export type DateOptions = { format?: DateFormat; }; export declare const iso8601Matcher: RegExp; export declare const tryParseDatePattern: (data: string, opts?: DateOptions) => Date | string; export declare const stringDate: stringDate.module; export declare namespace stringDate { type module = Module; type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; iso: iso.submodule; epoch: epoch.submodule; }; namespace iso { type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } namespace epoch { type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } } export declare const ip: ip.module; export declare namespace ip { type module = Module; type submodule = Submodule<$>; type $ = { root: string; v4: string; v6: string; }; } export declare const writeJsonSyntaxErrorProblem: (error: unknown) => string; export declare const json: stringJson.module; export declare namespace stringJson { type module = Module; type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } export declare namespace lower { type module = Module; type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } export declare const normalizedForms: readonly ["NFC", "NFD", "NFKC", "NFKD"]; export type NormalizedForm = (typeof normalizedForms)[number]; export declare const NFC: Module<{ root: unknown; preformatted: unknown; }>; export declare const NFD: Module<{ root: unknown; preformatted: unknown; }>; export declare const NFKC: Module<{ root: unknown; preformatted: unknown; }>; export declare const NFKD: Module<{ root: unknown; preformatted: unknown; }>; export declare const normalize: Module<{ root: unknown; NFC: Submodule<{ root: unknown; preformatted: unknown; }>; NFD: Submodule<{ root: unknown; preformatted: unknown; }>; NFKC: Submodule<{ root: unknown; preformatted: unknown; }>; NFKD: Submodule<{ root: unknown; preformatted: unknown; }>; }>; export declare namespace normalize { type module = Module; type submodule = Submodule<$>; type $ = { root: (In: string) => To; NFC: NFC.submodule; NFD: NFD.submodule; NFKC: NFKC.submodule; NFKD: NFKD.submodule; }; namespace NFC { type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } namespace NFD { type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } namespace NFKC { type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } namespace NFKD { type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } } export declare const stringNumeric: stringNumeric.module; export declare namespace stringNumeric { type module = Module; type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } export declare namespace trim { type module = Module; type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } declare const upper: upper.module; declare namespace upper { type module = Module; type submodule = Submodule<$>; type $ = { root: (In: string) => To; preformatted: string; }; } export declare const url: url.module; export declare namespace url { type module = Module; type submodule = Submodule<$>; type $ = { root: string; parse: (In: string) => To; }; } export declare const uuid: Module<{ root: string; v4: unknown; v6: unknown; v1: unknown; v2: unknown; v3: unknown; v5: unknown; v7: unknown; v8: unknown; }>; export declare namespace uuid { type module = Module; type submodule = Submodule<$>; type $ = { root: string; v1: string; v2: string; v3: string; v4: string; v5: string; v6: string; v7: string; v8: string; }; namespace $ { type flat = {}; } } export declare const string: Module<{ root: unknown; alpha: unknown; alphanumeric: unknown; hex: unknown; base64: Submodule<{ root: unknown; url: unknown; }>; capitalize: Submodule; creditCard: unknown; date: Submodule; digits: unknown; email: unknown; integer: Submodule; ip: Submodule; json: Submodule; lower: Submodule; normalize: Submodule<{ root: unknown; NFC: Submodule<{ root: unknown; preformatted: unknown; }>; NFD: Submodule<{ root: unknown; preformatted: unknown; }>; NFKC: Submodule<{ root: unknown; preformatted: unknown; }>; NFKD: Submodule<{ root: unknown; preformatted: unknown; }>; }>; numeric: Submodule; regex: unknown; semver: unknown; trim: Submodule; upper: Submodule; url: Submodule; uuid: Submodule<{ root: string; v4: unknown; v6: unknown; v1: unknown; v2: unknown; v3: unknown; v5: unknown; v7: unknown; v8: unknown; }>; }>; export declare namespace string { type module = Module; type submodule = Submodule<$>; type $ = { root: string; alpha: string; alphanumeric: string; hex: string; base64: base64.submodule; capitalize: capitalize.submodule; creditCard: string; date: stringDate.submodule; digits: string; email: string; integer: stringInteger.submodule; ip: ip.submodule; json: stringJson.submodule; lower: lower.submodule; normalize: normalize.submodule; numeric: stringNumeric.submodule; regex: string; semver: string; trim: trim.submodule; upper: upper.submodule; url: url.submodule; uuid: uuid.submodule; }; } export {};