import { InterfaceConfig } from './interface'; import { ParamConfig } from '../interface'; export declare type EnumerationOptionsConfig = ManualEnumerationOptionsConfig | InterfaceEnumerationOptionsConfig | DataEnumerationOptionsConfig; interface ManualEnumerationOptionsConfig { from: 'manual'; data?: Array<{ value: string | number | boolean; label: string; [extra: string]: any; }>; } interface InterfaceEnumerationOptionsConfig { from: 'interface'; interface?: InterfaceConfig; format?: InterfaceEnumerationOptionsKVConfig | InterfaceEnumerationOptionsListConfig; } interface DataEnumerationOptionsConfig { from: 'data'; sourceConfig?: ParamConfig; format?: InterfaceEnumerationOptionsKVConfig | InterfaceEnumerationOptionsListConfig; } export interface InterfaceEnumerationOptionsKVConfig { type: 'kv'; } export interface InterfaceEnumerationOptionsListConfig { type: 'list'; keyField: string; labelField: string; } export default class EnumerationHelper { static _instance: EnumerationHelper; optionsDataValue: (sourceConfig: ParamConfig, datas: { record?: object | undefined; data: object[]; step: { [field: string]: any; }; }) => any; options(config: EnumerationOptionsConfig, interfaceRequire: (config: InterfaceConfig, source: any) => Promise, datas: { record?: object; data: object[]; step: { [field: string]: any; }; }): Promise<{ value: any; label: string; }[]>; static options(config: EnumerationOptionsConfig, interfaceRequire: (config: InterfaceConfig, source: any) => Promise, datas: { record?: object; data: object[]; step: { [field: string]: any; }; }): Promise<{ value: any; label: string; }[]>; } export {};