import { BakkuHttpError, IBakkuHttpError } from '../basic'; import { Moment } from 'moment'; export type IValidationError = IBakkuHttpError; export declare const CONSTRUCTOR_SCHEMA_KEY = "CONSTRUCTOR_SCHEMA_KEY"; export declare const ValiDationCode: { common: string; StringSchema: { string_schema_required: string; string_schema_not_string: string; string_schema_length_invalid: string; string_schema_byte_length_invalid: string; string_schema_email_format_invalid: string; string_schema_format_invalid: string; }; NumberSchema: { number_schema_required: string; number_schema_not_number: string; number_schema_range_invalid: string; }; IntegerSchema: { integer_schema_required: string; integer_schema_not_number: string; integer_schema_not_integer: string; integer_schema_range_invalid: string; }; FileSchema: { file_schema_required: string; file_schema_size_invalid: string; file_schema_type_invalid: string; }; DateSchema: { date_schema_required: string; date_schema_not_date: string; date_schema_range_invalid: string; }; BooleanSchema: { boolean_schema_required: string; boolean_schema_not_boolean: string; }; EnumSchema: { enum_schema_required: string; enum_schema_not_enum_value: string; }; ArraySchema: { array_schema_required: string; array_schema_not_array: string; array_schema_length_invalid: string; }; ObjectSchema: { object_schema_required: string; object_schema_not_object: string; object_schema_key_not_allow_invalid: string; }; }; export declare class ValidationError extends BakkuHttpError { constructor(dataName: string, message: string, code?: string); } export interface IValidationCore { isRequired?: boolean; validate?: (data?: T, pathName?: string) => (IValidationError | undefined) | Promise; customError?: (error: ValidationError) => ValidationError | Promise; } export type IValidationBoolean = IValidationCore; export type BufferEncoding = 'ascii' | 'utf8' | 'utf-8' | 'utf16le' | 'ucs2' | 'ucs-2' | 'base64' | 'latin1' | 'binary' | 'hex'; export type SupportedStringFormat = 'isEmail' | RegExp; export interface IValidationString extends IValidationCore { minLength?: number; maxLength?: number; byteLength?: { encode?: BufferEncoding; min?: number; max?: number; }; format?: SupportedStringFormat; } export interface IValidationNumber extends IValidationCore { min?: number; max?: number; } export type IValidationInteger = IValidationNumber; export interface IValidationFile extends IValidationCore { mimetype?: string; minSize?: number; maxSize?: number; } export interface IValidationDate extends IValidationCore { min?: Date | Moment; max?: Date | Moment; } export type IValidationEnum = IValidationCore; export interface IValidationArray extends IValidationCore { minLength?: number; maxLength?: number; } export interface IValidationObject extends IValidationCore { isNotAlowExtProperties?: boolean; } //# sourceMappingURL=validation.definition.d.ts.map