import { InputBaseProperty } from "../../../property-panel/src/composition/entity/input-base-property";
import { DesignerComponentInstance } from "../../../designer-canvas/src/types";
export declare const LookupSchemaRepositoryToken: unique symbol;
export declare class LookupPropertyConfig extends InputBaseProperty {
    private comboListEditor;
    getPropertyConfig(propertyData: any, componentInstance: DesignerComponentInstance): {
        type: string;
        categories: {
            basic: any;
            appearance: any;
            lookup: {
                description: string;
                title: string;
                properties: {
                    readonly: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            editable: boolean;
                            type: string;
                            enableClear: boolean;
                        };
                    };
                    placeholder: {
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    enableClear: {
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    editable: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        editor: {
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                    };
                    allowFreeInput: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                        visible: boolean;
                    };
                    dataSource: {
                        description: string;
                        title: string;
                        type: string;
                        refreshPanelAfterChanged: boolean;
                        editor: {
                            type: string;
                            title: string;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                            };
                            viewOptions: ({
                                id: string;
                                title: string;
                                type: string;
                                dataSource: string;
                                enableGroup: boolean;
                                groupField: string;
                                groupFormatter: (value: any, data: any) => string;
                            } | {
                                id: string;
                                title: string;
                                type: string;
                                dataSource: string;
                                enableGroup?: undefined;
                                groupField?: undefined;
                                groupFormatter?: undefined;
                            })[];
                            repositoryToken: symbol;
                            onSubmitModal: (dataSourceSchema: any) => any;
                        };
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any[]) => void;
                        };
                    };
                    filterConditions: {
                        descriptions: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            type: string;
                            editable: boolean;
                            displayText: string;
                            enableClear: boolean;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                                viewModelId: any;
                            };
                            repositoryToken: symbol;
                            beforeOpen: ({ repository, notifyService }: {
                                repository: any;
                                notifyService: any;
                            }) => Promise<false | {
                                fieldList: any;
                                conditionList: any;
                            } | undefined>;
                            onSubmitModal: ({ loadingService, repository, conditions, originalConditions, FMessageBoxService }: {
                                loadingService: any;
                                repository: any;
                                conditions: any;
                                originalConditions: any;
                                FMessageBoxService: any;
                            }) => Promise<boolean | undefined>;
                        };
                        visible: boolean;
                    };
                    displayType: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            type: string;
                            editable: boolean;
                            disabled: boolean;
                            data: {
                                text: string;
                                value: string;
                            }[];
                            textField: string;
                            idField: string;
                            valueField: string;
                        };
                    };
                    idField: {
                        description: string;
                        title: string;
                        type: string;
                        editor: {
                            type: string;
                            textField: string;
                            idField: string;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                            };
                            columns: {
                                field: string;
                                title: string;
                            }[];
                            repositoryToken: symbol;
                        };
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    textField: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            type: string;
                            textField: string;
                            idField: string;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                            };
                            columns: {
                                field: string;
                                title: string;
                            }[];
                            repositoryToken: symbol;
                        };
                    };
                    mappingFields: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            type: string;
                            modalWidth: number;
                            modalHeight: number;
                            editable: boolean;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                            };
                            fromData: {
                                editable: boolean;
                                formatter: (cell: any, data: any) => string;
                                idField: string;
                                textField: string;
                                valueField: string;
                                repositoryToken: symbol;
                            };
                            toData: {
                                idField: string;
                                textField: string;
                                valueField: string;
                                dataSource: any;
                                formatter: (cell: any, data: any) => string;
                            };
                        };
                    };
                    multiSelect: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        editor: {
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                        refreshPanelAfterChanged: boolean;
                        visible: boolean;
                    };
                    showSelections: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    separator: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        editor: {
                            type: string;
                            editable: boolean;
                            disabled: boolean;
                            data: {
                                text: string;
                                value: string;
                            }[];
                            textField: string;
                            idField: string;
                            valueField: string;
                        };
                        visible: boolean;
                    };
                    enableSearchBar: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                    };
                    searchAnyField: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    enableFavorite: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                    };
                    showNavigation: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                        visible: any;
                    };
                    enableUserData: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                    };
                };
            };
            treeConfig: {
                hide: boolean;
                description: string;
                title: string;
                properties: {
                    treeToList: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    navTreeToList: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    loadTreeDataType: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        editor: {
                            data: {
                                value: string;
                                text: string;
                            }[];
                            textField: string;
                            valueField: string;
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                        visible: boolean;
                    };
                    enableFullTree: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    onlySelectLeaf: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                        editor: {
                            data: {
                                value: string;
                                text: string;
                            }[];
                            textField: string;
                            valueField: string;
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                    };
                    enableCascade: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    showCascadeControl: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                    cascadeStatus: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                        editor: {
                            data: {
                                value: string;
                                text: string;
                            }[];
                            textField: string;
                            valueField: string;
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                    };
                    expandLevel: {
                        description: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        title: string;
                        type: string;
                        visible: boolean;
                    };
                };
            };
            eventsEditor: {
                title: string;
                hideTitle: boolean;
                properties: {};
                refreshPanelAfterChanged: boolean;
                tabId: string;
                tabName: string;
                setPropertyRelates(changeObject: any, data: any): void;
            };
            dialog: {
                description: string;
                title: string;
                properties: {
                    title: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    width: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    height: {
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    navigatorWidth: {
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        visible: boolean;
                    };
                    rememberSize: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        visible: boolean;
                    };
                };
            };
            pager: {
                hide: boolean;
                description: string;
                title: string;
                properties: {
                    showLimits: {
                        description: string;
                        title: string;
                        type: string;
                        refreshPanelAfterChanged: boolean;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        visible: any;
                    };
                    sizeLimits: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        refreshPanelAfterChanged: boolean;
                        visible: any;
                        editor: {
                            columns: {
                                field: string;
                                title: string;
                                dataType: string;
                            }[];
                            type: string;
                            valueField: string;
                            nameField: string;
                            requiredFields: string[];
                            uniqueFields: string[];
                            modelValue: any;
                        };
                    };
                    size: {
                        description: string;
                        title: string;
                        type: string;
                        visible: any;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                        editor: {
                            data: any;
                            textField: string;
                            valueField: string;
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                    };
                };
            };
        };
    };
    private getBehaviorConfig;
    private isSimpleStringField;
    changeBindingField(propertyData: any, changeObject: any): void;
    private getDisplayType;
    private getLookupConfig;
    showNavigatiorWidth(editorOptions: any): boolean;
    private getDialogPropertyConfig;
    private showPagerProperty;
    private getPageConfig;
    private showLoadType;
    private showOnlySelectLeaf;
    private getTreePropConfig;
    private getEventPropConfig;
}
