import { RuntimeAction, RuntimeModelField } from '@oinone/kunlun-engine';
import { ActionType } from '@oinone/kunlun-meta';
import type { TransferProps } from 'ant-design-vue';
export declare enum SelectWidgetType {
    FIELD = "FIELD",
    ACTION = "ACTION",
    FIELD_ACTION = "FIELD_ACTION"
}
export declare type SelectInstance = {
    element: {
        metadataFields?: string[];
        properties: Record<string, unknown>;
        model: string;
        referenceModel?: string;
    };
};
declare type FieldsExtra = {
    isLeaf?: boolean;
    references?: string;
    key?: string;
    children?: SelectListType;
    type: SelectWidgetType;
    sort?: number;
    properties?: any;
    parentModel?: string;
    parentName?: string;
    deleted?: boolean;
};
export declare type SelectType = RuntimeModelField & RuntimeAction & FieldsExtra;
export declare type SelectListType = SelectType[];
export declare type FormValueItem = {
    label: string;
    name: string;
    type: SelectWidgetType;
    model: string;
    properties?: any;
    children?: FormValue;
};
export declare type FormValue = FormValueItem[];
export declare type TreeDataType = TransferProps['dataSource'] & SelectListType;
export declare type SourceDataCollection = Record<SelectWidgetType.FIELD | SelectWidgetType.ACTION, SelectListType>;
export declare enum ActionWidgetType {
    VIEW_ACTION = "VIEW_ACTION",
    SERVER_ACTION = "SERVER_ACTION",
    URL_ACTION = "URL_ACTION",
    CLIENT_ACTION = "CLIENT_ACTION"
}
export declare function convertActionType(type: ActionType | undefined): ActionWidgetType | undefined;
export declare type widgetTypeItem = {
    widgetAttrModel: string;
    widgetAttrFormViewName: string;
    widgetBizType: string;
    widgetSubtype: string;
    viewType: string;
    isDefault: boolean;
};
export declare type SortedFields = {
    sort?: number;
    items?: string[];
};
export declare const ActionTypeMap: Record<string, string>;
export declare const WidgetTypeMap: Record<string, string>;
export declare const OioSelectMetadataProps: {
    readonly: {
        type: BooleanConstructor[];
        default: boolean;
    };
    disabled: {
        type: BooleanConstructor[];
        default: boolean;
    };
};
export {};
