import { ChangeDetectorRef, EventEmitter, SimpleChanges } from "@angular/core";
import { FormBuilderService } from "../../../services/form-builder/form-builder.service";
import { TranslationService } from "../../../services/translation/translation.service";
import * as i0 from "@angular/core";
export declare class ElementComponent {
    private cdRef;
    private formBuilderService;
    private translationService;
    bookletJSON: any;
    langOption: any;
    languageCode: any;
    templateMode: EventEmitter<boolean>;
    field: any;
    formElements: any[];
    elements: any[];
    bookId: string;
    sections: {
        basic: boolean;
        advanced: boolean;
    };
    basicElements: any[];
    advancedElements: any[];
    version: string;
    book: any;
    selectedElement: any;
    isSelectTablePopup: boolean;
    currentType: string;
    addTable: boolean;
    dots: any[];
    draggedIndex: number | null;
    templateSelected: boolean;
    isHeaderSelect: boolean;
    selectedColumn: any;
    statictype: string[];
    constructor(cdRef: ChangeDetectorRef, formBuilderService: FormBuilderService, translationService: TranslationService);
    ngOnInit(): void;
    toggleSection(section: "basic" | "advanced"): void;
    isSectionOpen(section: string): boolean;
    ngOnChanges(changes: SimpleChanges): void;
    onTemplateSelected(event: {
        selectedTemplate: any;
        elements: any[];
    }): void;
    private initializeForm;
    selectElement(index: number): void;
    selectedFieldIndex: number | null;
    selectHeading(event: any): void;
    generateUiId(): string;
    addElement(type: string): void;
    removeElement(field: any, index: number): void;
    onDragStart(event: DragEvent, index: number): void;
    onDragOver(event: DragEvent, index: number): void;
    onDrop(event: DragEvent, dropIndex: number): void;
    toggleBoolean(field: any): void;
    onClose(): void;
    addOnTable(): void;
    columnSelected(event: any): void;
    removeColumn(event: any): void;
    fileChangeEvent(index: any, event: any): Promise<void>;
    private readFileAsDataURL;
    langChangeEmit(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ElementComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ElementComponent, "app-element", never, { "bookletJSON": { "alias": "bookletJSON"; "required": false; }; "langOption": { "alias": "langOption"; "required": false; }; "languageCode": { "alias": "languageCode"; "required": false; }; }, { "templateMode": "templateMode"; }, never, never, true, never>;
}
