import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, ValidatorFn } from '@angular/forms';
import { ActivatedRoute } from '@angular/router';
import { RecaptchaComponent } from 'ng-recaptcha';
import { BabylonTagsI, BabylonTextInfoI, BabylonTextsColorsI } from '../../../interfaces';
import { BabylonButtonI } from '../../../interfaces/babylon-button.interface';
import { BabylonDropdownI } from '../../../interfaces/babylon-dropdown.interface';
import { BabylonImageI } from '../../../interfaces/babylon-image.interface';
import { BabylonInputI } from '../../../interfaces/babylon-input.interface';
import * as i0 from "@angular/core";
export declare class BabylonContactFormComponent implements OnInit {
    private readonly fb;
    private readonly route;
    private readonly cdr;
    captchaRef: RecaptchaComponent;
    captchaToken: string | null;
    siteKey?: string;
    title?: string;
    pretitle?: string;
    subtitle?: string;
    description?: string;
    inputs?: BabylonInputI[];
    textarea?: BabylonInputI;
    conditions?: string;
    conditions2?: string;
    button?: BabylonButtonI;
    image?: BabylonImageI;
    dropdown?: BabylonDropdownI;
    hotelDrop?: BabylonDropdownI;
    tags?: BabylonTagsI;
    textColors?: BabylonTextsColorsI;
    texts?: BabylonTextInfoI;
    idCv?: number;
    submit: EventEmitter<any>;
    cvFile: File | null;
    selectedCvName: string | null;
    showCv: boolean;
    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;
    checkUrlParams(): 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;
    onDropdownChange(value: any): void;
    private clearCvControl;
    get hasCaptcha(): boolean;
    executeCaptcha(): void;
    onCaptchaResolved(token: string | null): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BabylonContactFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<BabylonContactFormComponent, "lib-babylon-contact-form", never, { "siteKey": { "alias": "siteKey"; "required": false; }; "title": { "alias": "title"; "required": false; }; "pretitle": { "alias": "pretitle"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "description": { "alias": "description"; "required": false; }; "inputs": { "alias": "inputs"; "required": false; }; "textarea": { "alias": "textarea"; "required": false; }; "conditions": { "alias": "conditions"; "required": false; }; "conditions2": { "alias": "conditions2"; "required": false; }; "button": { "alias": "button"; "required": false; }; "image": { "alias": "image"; "required": false; }; "dropdown": { "alias": "dropdown"; "required": false; }; "hotelDrop": { "alias": "hotelDrop"; "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>;
}
