import { DateOnly, DateTime, Time } from "@simplysm/core-common"; export type SdTextfieldTypes = { "number": number; "text": string; "password": string; "color": string; "email": string; "format": string; "date": DateOnly; "month": DateOnly; "year": DateOnly; "datetime": DateTime; "datetime-sec": DateTime; "time": Time; "time-sec": Time; }; export declare const sdTextfieldTypes: (keyof SdTextfieldTypes)[]; export interface TextfieldParseOpts { format?: string; } export interface TextfieldFormatOpts { useNumberComma?: boolean; format?: string; } export interface TextfieldDisplayOpts { minDigits?: number; } export interface TextfieldValidateOpts { required?: boolean; min?: unknown; max?: unknown; minlength?: number; maxlength?: number; pattern?: string; format?: string; } export interface TextfieldTypeHandler { readonly controlType: string; getControlStep(explicitStep: number | undefined): number | string; parse(raw: string, opts: TextfieldParseOpts): unknown; toControlValue(value: unknown, opts: TextfieldFormatOpts): string; toDisplayText(value: unknown, opts: TextfieldDisplayOpts): string | undefined; validate(value: unknown, opts: TextfieldValidateOpts): string[]; } export declare const textfieldTypeHandlers: Record; //# sourceMappingURL=sd-textfield-type-handlers.d.ts.map