import { ValidatorFn } from '@angular/forms'; /** Provides a set of validators for password form controls. */ export declare class PasswordValidators { /** * Validator that requires the control's value length to be at least `min` characters. * * `min` - number of characters. * * ## Usage: * * ```typescript * const control = new FormControl('password', PasswordValidators.minLength(10)); * console.log(control.errors); // {minLength: {min: 10, actual: 8}} * ``` */ static minLength(min: number): ValidatorFn; /** * Validator that requires the control's value length to be at most `max` characters. * * `max` - number of characters. * * ## Usage: * ```typescript * const control = new FormControl('password', PasswordValidators.maxLength(6)); * console.log(control.errors); // {maxLength: {max: 6, actual: 8}} * ``` */ static maxLength(max: number): ValidatorFn; /** * Validator that requires the control's value to be at least `min` uppercase characters. * * `min` - number of uppercase characters. * * ### Usage: * * ```typescript * const control = new FormControl('Password', PasswordValidators.minUppercase(2)); * console.log(control.errors); // {minUppercase: {min: 2, actual: 1}} * ``` */ static minUppercase(min: number): ValidatorFn; /** * Validator that requires the control's value to be at least `min` lowercase characters. * * `min` - number of lowercase characters. * * ### Usage: * * ```typescript * const control = new FormControl('PASSWORD', PasswordValidators.minLowercase()); * console.log(control.errors); // {minLowercase: {min: 1, actual: 0}} * ``` */ static minLowercase(min: number): ValidatorFn; /** * Validator that requires the control's value to be at least `min` number characters. * * `min` - number of number characters. * * ### Usage: * * ```typescript * const control = new FormControl('passw0rd', PasswordValidators.minNumber(2)); * console.log(control.errors); // {minNumber: {min: 2, actual: 1}} * ``` */ static minNumber(min: number): ValidatorFn; /** * Validator that requires the control's value to be at least `min` special characters. * * `min` - number of special characters. * * ### Special characters: * ```js * ['!','@','#','$','%','^','&','*'] * ``` * * ### Usage: * * ```typescript * const control = new FormControl('pa$sword', PasswordValidators.minSpecial(2)); * console.log(control.errors); // {minSpecial: {min: 2, actual: 1}} * ``` */ static minSpecial(min: number): ValidatorFn; } /** Provides a set of validators for file-related form controls. */ export declare class FileValidators { /** * Validator that checks if the file size is less than or equal to the provided `maxSize`. * * @param maxSize - The maximum allowed file size in bytes. * * @returns A ValidatorFn function that checks the file size. * * ## Usage: * * ```typescript * const control = new FormControl(null, [FileValidators.maxFileSize(1024 * 1024)]); // 1MB * control.setValue(FILE_LESS_OR_EQUAL_THAN_1MB); * console.log(control.errors); // null * control.setValue(FILE_MORE_THAN_1MB); * console.log(control.errors); // {maxFileSize: { max: 1048576, actual: FILE_MORE_THAN_1MB.size }} * ``` */ static maxFileSize(maxSize: number): ValidatorFn; /** * Validator that checks whether file's name or MIME type * matches one of the accepted extensions or MIME types. * * @param accept - Array of allowed file extensions or MIME types. * @returns ValidatorFn that returns validation error if file type is not accepted, or null otherwise. */ static isCorrectExtension(accept: (`.${string}` | `${string}/${string}`)[]): ValidatorFn; } /** * Type helper describing accepted file types, referring to: * @link https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input/file#unique_file_type_specifiers */ export type KbqFileTypeSpecifier = Parameters[0];