import { WithDynamicVariable, GetDynamicObjectByPath } from 'shuttle-formula/render';
import { ModalField } from '@easy-coder/sdk/data';
import { VariableDefine } from '../type';

type NeedCustomTypes = Exclude<VariableDefine.Desc['type'], 'boolean' | 'string' | 'text' | 'number' | 'float' | 'object' | 'array' | 'multipleEnum' | 'multipleLookup' | 'lookup'>;
export declare const customTypes: Record<NeedCustomTypes, `custom-${string}`>;
export declare function variableToFormula(variableDesc: VariableDefine.Desc): WithDynamicVariable;
export declare function variableFromFormula(formulaType: WithDynamicVariable): VariableDefine.Desc;
export declare function variableFromModalField(field: ModalField.Field): VariableDefine.Desc;
export declare function variableCanAcceptFormula(variableDesc: VariableDefine.Desc, formulaType: WithDynamicVariable): boolean;
export declare const getDynamicObjectByPath: GetDynamicObjectByPath;
export declare function variableTypeToFormulaType(variableType: VariableDefine.Desc['type']): WithDynamicVariable['type'];
export {};
