import { AbstractControl } from '@angular/forms';
import * as _angular_core from '@angular/core';
import { OnInit } from '@angular/core';
import { InputFieldBase } from '@koalarx/ui/shared/components/input-field';

declare function HasLowercaseValidator(control: AbstractControl): {
    hasLowercase: boolean;
} | null;

declare function HasNumberValidator(control: AbstractControl): {
    hasNumber: boolean;
} | null;

declare function HasSpecialCharactersValidator(control: AbstractControl): {
    hasSpecialCharacters: boolean;
} | null;

declare function HasUppercaseValidator(control: AbstractControl): {
    hasUppercase: boolean;
} | null;

type InputPasswordType = 'password' | 'text';
declare class InputPassword extends InputFieldBase implements OnInit {
    readonly translations: {
        required: string;
        invalidEmail: string;
        invalidMinLength: (requiredLength: number) => string;
        invalidCPF: string;
        invalidCNPJ: string;
        invalidURL: string;
        invalidPasswordHasSpecialCharacters: string;
        invalidPasswordHasLowercase: string;
        invalidPasswordHasUppercase: string;
        invalidPasswordHasNumber: string;
        invalidConfirmPassword: string;
        selectTypeSearch: string;
    };
    type: _angular_core.WritableSignal<InputPasswordType>;
    enableStrongPasswordCheck: _angular_core.InputSignalWithTransform<boolean, unknown>;
    togglePasswordVisibility(): void;
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputPassword, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputPassword, "kl-input-password", never, { "enableStrongPasswordCheck": { "alias": "enableStrongPasswordCheck"; "required": false; "isSignal": true; }; }, {}, never, ["[icon]", "[errors]"], true, never>;
}

export { HasLowercaseValidator, HasNumberValidator, HasSpecialCharactersValidator, HasUppercaseValidator, InputPassword };
