import { z } from 'zod'; import RTValueTypeBase from './value-type.js'; import type RepoTherapy from './repo-therapy.js'; import type { Options } from './value-type.js'; import type { ObjectDefinition } from './types.js'; export type StringMeta = { default?: string; optional?: boolean; minLength?: number; maxLength?: number; exactLength?: number; oneOf?: string[]; }; export declare class RTValueTypeString = {}, CustomOptions extends object = {}, Self extends RTValueTypeString = RTValueTypeString, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase { protected _baseType: 'string'; protected _type: string; protected _unstrict: StringConstructor; constructor(repoTherapy: RepoTherapy, description: string, options?: CustomOptions & Partial>); protected _minLength(minLength: number): void; protected _maxLength(maxLength: number): void; protected _exactLength(): void; protected _init(): z.ZodString; } export type NumberMeta = { default?: number; optional?: boolean; decimals?: number; sign?: 'positive' | 'negative' | 'non-positive' | 'non-negative'; min?: number; max?: number; oneOf?: number[]; }; export declare class RTValueTypeNumber = {}, CustomOptions extends object = {}, Self extends RTValueTypeNumber = RTValueTypeNumber, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase { protected _baseType: 'number'; protected _type: string; protected _unstrict(value: unknown): number; constructor(repoTherapy: RepoTherapy, description: string, options?: CustomOptions & Partial>); integer(): void; float(decimals?: number): void; _init(): z.ZodNumber; } export type BooleanMeta = { default?: boolean; optional?: boolean; }; export declare class RTValueTypeBoolean = {}, CustomOptions extends object = {}, Self extends RTValueTypeBoolean = RTValueTypeBoolean, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase { protected _baseType: 'boolean'; protected _type: string; constructor(repoTherapy: RepoTherapy, description: string, options?: CustomOptions & Partial>); protected _unstrict(value: unknown): boolean; protected _init(): z.ZodBoolean; } type ArrrayItem = ReturnType['chainable']>; export type ArrayMeta = { default?: T[]; optional?: boolean; minLength?: number; maxLength?: number; exactLength?: number; unique?: boolean; }; export declare class RTValueTypeArray = {}, CustomOptions extends object = {}, Self extends RTValueTypeArray = RTValueTypeArray, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase & Metadata, CustomOptions, Self, ForceReturn> { protected _baseType: 'array'; protected _type: string; static valueDefinition: string[]; static isArray: boolean; get typeDefinitionStr(): string; private _item; constructor(repoTherapy: RepoTherapy, description: string, item: ArrrayItem, options?: CustomOptions & Partial & Metadata, CustomOptions, Self>>); getItem(): ArrrayItem; mock(useDefault?: boolean): T[] | undefined; protected _unstrict(value: unknown): T[]; protected _minLength(minLength: number): void; protected _maxLength(maxLength: number): void; protected _exactLength(): void; protected _init(): z.ZodTransform; } export type ObjectMeta = { soft?: boolean; optional?: boolean; keyMap?: (value: string[]) => string[]; keyRevert?: (value: string[]) => string[]; }; export declare class RTValueTypeObject = {}, CustomOptions extends object = {}, Self extends RTValueTypeObject = RTValueTypeObject, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase { protected _baseType: 'object'; protected _type: string; static valueDefinition: string[]; get typeDefinitionStr(): string; private _items; constructor(repoTherapy: RepoTherapy, description: string, items: ObjectDefinition, options?: CustomOptions & Partial>); getItems(): ObjectDefinition; existingKeys(data: object): (keyof T & string)[]; mock(useDefault: boolean): T; protected _unstrict(value: unknown): T; private _recursiveLoopToValue; private _restructure; protected _init(): z.ZodTransform, T>; } export type PatternMeta = { optional?: boolean; }; export declare class RTValueTypePattern = {}, CustomOptions extends object = {}, Self extends RTValueTypePattern = RTValueTypePattern, ForceReturn extends keyof Self = keyof Self> extends RTValueTypeBase { protected readonly _pattern: RegExp; protected readonly _patternName: string; protected _baseType: 'string'; protected _unstrict: StringConstructor; protected get _type(): string; constructor(repoTherapy: RepoTherapy, name: string, description: string, pattern: RegExp, options?: CustomOptions & Partial>); protected _init(): z.ZodString; static define(regexp: Record): () => { [k: string]: { description: string; pattern: RegExp; }; }; } export {}; //# sourceMappingURL=value-type-definitions.d.ts.map