import { BaseControlProperty } from "../../../property-panel/src/composition/entity/base-property";
export declare class ExternalLookupPropertyConfig extends BaseControlProperty {
    private propertyConfigFilters;
    events: {
        label: string;
        name: string;
    }[];
    constructor(componentId: string, designerHostService: any);
    /**
     * 获取帮助的属性
     * @param propertyData
     * @returns
     */
    getPropertyConfig(propertyData: any): {
        type: string;
        categories: {
            lookup: {
                description: string;
                title: string;
                setPropertyRelates: (changeObject: any, newPropertyData: any) => void;
                parentPropertyID: string;
                properties: {
                    readonly: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: string;
                        editor: any;
                    };
                    required: {
                        description: string;
                        title: string;
                        type: string;
                        $converter: string;
                        editor: any;
                        visible: boolean;
                    };
                    placeholder: {
                        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;
                        };
                    };
                    enableTitle: {
                        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;
                        };
                    };
                    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;
                        };
                        visible: 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: any;
                        visible: boolean;
                    };
                    enableClear: {
                        title: string;
                        type: string;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    dataSource: {
                        description: string;
                        title: string;
                        type: string;
                        refreshPanelAfterChanged: boolean;
                        editor: {
                            displayFormatter: (items: any) => any;
                            validateFunction: (dataSourceSchema: any) => Promise<boolean>;
                            onSubmitModal: (dataSourceSchema: any) => any;
                            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;
                        };
                        $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;
                            enableExpression: boolean;
                            editorParams: {
                                propertyData: any;
                                formBasicInfo: any;
                                viewModelId: any;
                            };
                            idField: string;
                            repositoryToken: symbol;
                            beforeOpen: ({ repository, notifyService }: {
                                repository: any;
                                notifyService: any;
                            }) => Promise<false | {
                                isServerSide: boolean;
                                entities: never[] | {
                                    entityCode: any;
                                    fields: {
                                        data: {
                                            id: any;
                                            name: any;
                                            bindingPath: any;
                                            parents: string[];
                                            type: string;
                                        };
                                        children: any[];
                                    }[];
                                };
                                variables: {
                                    session: {
                                        name: string;
                                        items: {
                                            key: string;
                                            name: string;
                                            description: string;
                                        }[];
                                        visible: boolean;
                                    };
                                    forms: {
                                        name: string;
                                        items: any;
                                        visible: boolean;
                                    };
                                };
                            }>;
                            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;
                            disabled: boolean;
                            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;
                                searchFields: string[];
                                repositoryToken: symbol;
                                displayFormatter: (items: []) => string;
                            };
                            toData: {
                                editable: boolean;
                                idField: string;
                                textField: string;
                                valueField: string;
                                searchFields: string[];
                                dataSource: () => any;
                                formatter: (cell: any, data: any) => string;
                                displayFormatter: (items: []) => string;
                            };
                        };
                    };
                    enableToSelect: {
                        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;
                        };
                    };
                    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;
                            separator: 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;
                        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;
                        visible: boolean;
                    };
                    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;
                        visible: boolean;
                    };
                };
            };
            treeConfig: {
                hide: boolean;
                description: string;
                title: string;
                parentPropertyID: 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;
                    };
                    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;
                    };
                    cascadeValue: {
                        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: import("../..").CascadeEnum;
                                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;
                        editor: {
                            min: number;
                            max: number;
                            needValid: boolean;
                            type: string;
                            useThousands: boolean;
                        };
                    };
                };
            };
            pager: {
                hide: boolean;
                description: string;
                title: string;
                parentPropertyID: string;
                $converter: {
                    convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                    convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                };
                properties: {
                    showLimits: {
                        description: string;
                        title: string;
                        type: string;
                        refreshPanelAfterChanged: boolean;
                        visible: any;
                    };
                    sizeLimits: {
                        description: string;
                        title: string;
                        type: string;
                        refreshPanelAfterChanged: boolean;
                        visible: any;
                        editor: {
                            columns: {
                                field: string;
                                title: string;
                                dataType: string;
                                editor: {
                                    type: string;
                                    useThousands: boolean;
                                    min: number;
                                    max: number;
                                };
                            }[];
                            title: string;
                            modalWidth: number;
                            modalHeight: number;
                            type: string;
                            valueField: string;
                            nameField: string;
                            requiredFields: string[];
                            uniqueFields: string[];
                            modelValue: any;
                            beforeSubmit: ({ notifyService, data }: {
                                notifyService: any;
                                data: any;
                            }) => boolean;
                        };
                    };
                    size: {
                        description: string;
                        title: string;
                        type: string;
                        visible: any;
                        editor: {
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                            data: any;
                            textField: string;
                            idField: string;
                            valueField: string;
                            modelValue: any;
                        };
                    };
                };
            };
            dialog: {
                description: string;
                title: string;
                parentPropertyID: string;
                $converter: {
                    convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                    convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                };
                properties: {
                    openType: {
                        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;
                        };
                        editor: {
                            data: {
                                text: string;
                                value: string;
                            }[];
                            valueField: string;
                            textField: string;
                            idField: string;
                            type: string;
                            enableClear: boolean;
                            editable: boolean;
                        };
                        visible: boolean;
                        defaultValue: string;
                    };
                    title: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        $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;
                        editor: {
                            min: number;
                            needValid: boolean;
                            type: string;
                            useThousands: boolean;
                        };
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    height: {
                        description: string;
                        title: string;
                        type: string;
                        editor: {
                            min: number;
                            needValid: boolean;
                            type: string;
                            useThousands: boolean;
                        };
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    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;
                    };
                    navigatorWidth: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        editor: {
                            min: number;
                            max: number;
                            needValid: boolean;
                            type: string;
                            useThousands: boolean;
                        };
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    resizeable: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    rememberSize: {
                        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;
                        };
                    };
                    enableEsc: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    showMaxButton: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                    showCloseButton: {
                        description: string;
                        title: string;
                        type: string;
                        visible: boolean;
                        $converter: {
                            convertFrom: (schema: Record<string, any>, propertyKey: string) => any;
                            convertTo: (schema: Record<string, any>, propertyKey: string, propertyValue: any) => void;
                        };
                    };
                };
            };
        };
    };
    /**
     * 过滤帮助的属性配置
     * @param propertyConfig
     */
    private filterLookupPropertyConfig;
    private getEventPropConfig;
}
