import { AfterContentInit, ChangeDetectorRef, QueryList } from '@angular/core';
import { KbqComponentColors } from '@koobiq/components/core';
import { KbqFormField } from './form-field';
import { KbqHint } from './hint';
import * as i0 from "@angular/core";
export declare enum PasswordRules {
    Length = 0,
    UpperLatin = 1,
    LowerLatin = 2,
    Digit = 3,
    LatinAndSpecialSymbols = 4,
    Custom = 5
}
export declare const regExpPasswordValidator: {
    2: RegExp;
    1: RegExp;
    3: RegExp;
    4: RegExp;
};
export declare const hasPasswordStrengthError: (passwordHints: QueryList<KbqPasswordHint>) => boolean;
export declare class KbqPasswordHint extends KbqHint implements AfterContentInit {
    private changeDetectorRef;
    private formField;
    id: string;
    rule: PasswordRules | any;
    min: number;
    max: number;
    regex: RegExp | null;
    customCheckRule: (value: string) => boolean;
    viewFormField?: KbqFormField;
    fillTextOff: boolean;
    hasError: boolean;
    checked: boolean;
    get icon(): string;
    /**
     * The form field hint icon color.
     *
     * @docs-private
     */
    protected get iconColor(): KbqComponentColors;
    private checkRule;
    private get control();
    private lastControlValue;
    constructor(changeDetectorRef: ChangeDetectorRef, formField: any);
    ngAfterContentInit(): void;
    private checkValue;
    private checkLengthRule;
    private checkRegexRule;
    private checkSpecialSymbolsRegexRule;
    private isValueChanged;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqPasswordHint, [null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqPasswordHint, "kbq-password-hint", never, { "id": { "alias": "id"; "required": false; }; "rule": { "alias": "rule"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "regex": { "alias": "regex"; "required": false; }; "customCheckRule": { "alias": "checkRule"; "required": false; }; "viewFormField": { "alias": "viewFormField"; "required": false; }; "fillTextOff": { "alias": "fillTextOff"; "required": false; }; }, {}, never, ["*"], true, never>;
}
