import { OnInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges, ChangeDetectorRef } from "@angular/core";
import { FormGroup } from "@angular/forms";
import { KreFormFieldConfig, KreFormInfo, KreFormCommonService, KreFormBuilder } from "@kre-form/core";
import { NzModalService } from "ng-zorro-antd/modal";
import { NzMessageService } from "ng-zorro-antd/message";
import { KreFormAntService } from "../../tools/service";
import { ICheckedField, IBusinessTable, Itable, IDesignFormAPI, IItem } from "../../tools/util";
import { KreDialogService } from "../../service/dialog.service";
import { DataService } from "../../service/data.service";
import { KreAntCommonService } from "../../tools/commonService";
import { KreTransferService } from "../../tools/transferService";
import { KreDesginToFormService } from "../../tools/tableFieldService";
export interface IFormJSON {
    code: string;
    name: string;
    type: any;
    column: string;
    row: string;
    fields: KreFormFieldConfig[];
}
export declare class KreFormDesignDetailX implements OnInit, OnChanges, OnDestroy {
    private cd;
    private message;
    private modalService;
    private kreFormAntService;
    kreDialogService: KreDialogService;
    dataService: DataService;
    kreAntCommonService: KreAntCommonService;
    kreTransferService: KreTransferService;
    kreDesginToFormService: KreDesginToFormService;
    kreFormCommonService: KreFormCommonService;
    formBuilder: KreFormBuilder;
    showForm: boolean;
    formCode: string;
    layout: boolean;
    api: IDesignFormAPI;
    showAnchorList: boolean;
    _business_tables: IBusinessTable;
    business_tables: any;
    _langConfig: any[];
    langConfig: any;
    _triggerJson: any;
    triggerJson: any;
    _calculateRuleJson: any;
    calculateRuleJson: any;
    _options: IItem[];
    options: any;
    _business_form: IFormJSON;
    business_form: IFormJSON;
    isSaveButton: boolean;
    saveEvent: EventEmitter<string>;
    cancelEvent: EventEmitter<string>;
    previewEvent: EventEmitter<string>;
    actionEvent: EventEmitter<any>;
    pageStatus: number;
    form_model: any;
    form_group: FormGroup;
    form_fields: KreFormFieldConfig[];
    kreFormInfo: KreFormInfo;
    layout_column: string;
    layout_row: string;
    table_Data: Itable[];
    anchorList: any[];
    anchorDevList: any;
    key: string;
    AddReferProcessDisabled: boolean;
    constructor(cd: ChangeDetectorRef, message: NzMessageService, modalService: NzModalService, kreFormAntService: KreFormAntService, kreDialogService: KreDialogService, dataService: DataService, kreAntCommonService: KreAntCommonService, kreTransferService: KreTransferService, kreDesginToFormService: KreDesginToFormService, kreFormCommonService: KreFormCommonService, formBuilder: KreFormBuilder);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    btnSave(): void;
    btnCancel(): void;
    btnPreview(): void;
    btnDelete(): void;
    btnMoveUp(): void;
    move(arr: any, index: number, tindex: number): void;
    btnMoveDown(): void;
    btnAddFields(): void;
    btnAddRemark(): void;
    btnAddLine(): void;
    btnAddAnchor(): void;
    btnAddReferProcess(): void;
    btnAddGroup(): void;
    btnColumn(type: number): void;
    btnRow(type: number): void;
    getCheckFields(): ICheckedField[];
    groupBtnMoveUpOrDown(groupField: KreFormFieldConfig, type: string): void;
    groupBtnAddLineRemark(groupField: KreFormFieldConfig, type: string): void;
    groupBtnTableFields(groupField: KreFormFieldConfig): void;
    groupBtnDeleteFields(groupField: KreFormFieldConfig): void;
    initTablesInfo(): void;
    initFormInfo(res: any): void;
    initTableFieldStatus(): void;
    initTablesData(): void;
    selectTableFields(): void;
    getTableMultipleCode(): string;
    editFormFieldConfig(field: KreFormFieldConfig): void;
    deleteFormFieldConfig(field: KreFormFieldConfig): void;
    resetFormBuild(): void;
    initFormFieldPropertyAction(): void;
    modelChange(e: any): void;
    initAnchorList(): void;
    at(str: string): void;
}
