import { FormArray } from '@angular/forms';
import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, ValidatorFn } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { BabylonTagsI, BabylonTextsColorsI } from '../../../interfaces';
import { BabylonButtonI } from '../../../interfaces/babylon-button.interface';
import { BabylonImageI } from '../../../interfaces/babylon-image.interface';
import { BabylonInputI } from '../../../interfaces/babylon-input.interface';
import * as i0 from "@angular/core";
export declare class BabylonFormC2TextInputComponent implements OnInit {
    private readonly fb;
    private readonly route;
    private readonly cdr;
    inputs?: BabylonInputI[];
    buttons?: BabylonButtonI[];
    image?: BabylonImageI;
    tags?: BabylonTagsI;
    textColors?: BabylonTextsColorsI;
    texts?: BabylonFormC2TextInputTextsI;
    idCv?: number;
    submit: EventEmitter<any>;
    cvFile: File | null;
    selectedCvName: string | null;
    showCv: boolean;
    languages: any;
    languageLevels: any;
    readonly allowedCvExtensions: string[];
    readonly maxCvSizeMb = 5;
    readonly maxCvSizeBytes: number;
    form: FormGroup;
    formReady: import("@angular/core").WritableSignal<boolean>;
    constructor(fb: FormBuilder, route: ActivatedRoute, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    createFormInputs(): void;
    createLanguages(): void;
    get languagesFormArray(): FormArray;
    getFilteredLanguages(currentIndex: number): any[];
    addLanguage(): void;
    removeLanguage(index: number): void;
    initializeForm(): void;
    validateInput(input: BabylonInputI): void;
    inputChange(event: Event, input: BabylonInputI): void;
    resetForm(): void;
    submitForm(e: Event): void;
    markAllControlsAsTouched(): void;
    phoneValidator(): ValidatorFn;
    onCvSelected(event: Event): void;
    resetNativeFileInput(input: HTMLInputElement): void;
    removeCv(input: HTMLInputElement): void;
    private clearCvControl;
    static ɵfac: i0.ɵɵFactoryDeclaration<BabylonFormC2TextInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BabylonFormC2TextInputComponent, "lib-babylon-form-c2-text-input", never, { "inputs": { "alias": "inputs"; "required": false; }; "buttons": { "alias": "buttons"; "required": false; }; "image": { "alias": "image"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "textColors": { "alias": "textColors"; "required": false; }; "texts": { "alias": "texts"; "required": false; }; "idCv": { "alias": "idCv"; "required": false; }; }, { "submit": "submit"; }, never, never, true, never>;
}
export interface BabylonFormC2TextInputTextsI {
    conditions?: string;
    conditions2?: string;
    cvInput?: string;
    description?: string;
    inputDisponibility?: string;
    inputDisponibilityPlaceHolder?: string;
    inputLanguages?: string;
    inputEmail?: string;
    inputEmailPlaceHolder?: string;
    inputMessage?: string;
    inputMessagePlaceHolder?: string;
    inputName?: string;
    inputNamePlaceHolder?: string;
    inputPhone?: string;
    inputPhonePlaceHolder?: string;
    inputSurnames?: string;
    inputSurnamesPlaceHolder?: string;
    intermedio?: string;
    lang_1?: string;
    lang_2?: string;
    lang_3?: string;
    lang_4?: string;
    nativo?: string;
    requiredFieldsLabel?: string;
    title?: string;
    errorRequired?: string;
    textAdjCvError?: string;
    errorPhone?: string;
    errorEmail?: string;
    inputlastname?: string;
    SelectItemText?: string;
    textAdjCv?: string;
    subtitle?: string;
    pretitle?: string;
    basico?: string;
    fluido?: string;
    addLang?: string;
}
