import { conversion, httpComponent, scalar } from "@huz-com/types"; export declare type ScalarWarningLambda = (message: string, req: httpComponent.Req) => void; export declare type ScalarLogLambda = (message: string, req: httpComponent.Req) => void; export interface ScalarPairId extends scalar.AnyObject { id?: E; } export interface DefaultStringOption { minLength?: scalar.Integer; maxLength?: scalar.Integer; cropMax?: boolean; } export interface DefaultNumberOption { min?: T; max?: T; cropMax?: boolean; } export interface AlphaTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; pattern?: scalar.Title | RegExp; } export interface AnyTypeOption extends conversion.CastBaseOne { def?: scalar.Unknown; } export interface BoolTypeOption extends conversion.CastBaseOne { def?: scalar.Boolean; } export interface DateTypeOption extends conversion.CastBaseOne { now?: boolean; } export interface DescriptionTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; stripTags?: boolean; } export interface DigitTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; } export interface EmailTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; } export declare type EnumTypeValue = scalar.Alpha | scalar.Integer; export declare type EnumTypeMap = Record; export interface EnumTypeOption extends conversion.CastBaseOne { def?: E; map?: EnumTypeMap; alternative?: EnumTypeMap; } export interface FloatTypeOption extends conversion.CastBaseOne, DefaultNumberOption { def?: scalar.Float; } export interface FolderTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.Folder; isAbsolute?: scalar.Boolean; isWindows?: scalar.Boolean; } export interface FunctionTypeOption extends conversion.CastBaseOne { def?: scalar.AnyFunc; min?: scalar.Integer; max?: scalar.Integer; } export declare type IpVersion = 4 | 6 | null | '4' | '6'; export interface HostTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.Host; onlyHost?: scalar.Boolean; subdomain?: scalar.Boolean; wildcard?: scalar.Boolean; onlyIp?: scalar.Boolean; ipVersion?: IpVersion; } export interface IntTypeOption extends conversion.CastBaseOne, DefaultNumberOption { def?: scalar.Integer; } export interface IsoDatetimeTypeOption extends conversion.CastBaseOne { now?: boolean; } export interface IsoDateTypeOption extends conversion.CastBaseOne { now?: boolean; } export interface IsoTimeTypeOption extends conversion.CastBaseOne { now?: boolean; } export interface MomentTypeOption extends conversion.CastBaseOne { now?: boolean; } export interface RegExpTypeOption extends conversion.CastBaseOne { def?: RegExp; } export interface RichTextTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; stripTags?: boolean; availableTags?: Array; } export interface StringTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.String; } export interface TitleTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.Title; cropNewLines?: boolean; stripTags?: boolean; } export interface UrlTypeOption extends conversion.CastBaseOne, DefaultStringOption { def?: scalar.Url; } export interface UuidTypeOption extends conversion.CastBaseOne { generate?: boolean; }