import { type VmValue } from '@mirascript/mirascript'; import type { ChoiceParameterType, Parameter, ParameterMap } from './parameter.js'; import { TypeInfo } from '../type.js'; import type { ArgumentMap, ArgumentValue } from './argument.js'; import type { ParameterGroup } from './parameter-group.js'; /** 转换参数类型 */ export type ArgumentConverter = (value: VmValue | null | undefined, defaults?: D) => R | Exclude; /** * 通过枚举参数定义推测枚举类型 */ export declare function choiceParameterType(definition: Pick): TypeInfo | ''; /** 是否为枚举值类型 */ export declare function isChoiceValue(value: unknown): value is ChoiceParameterType; /** 转换推测参数类型,不回退到 {@link Parameter.value} 提供的默认值 */ export declare function argumentConverter(definition: Parameter): ArgumentConverter; /** * 转换参数值的类型,不回退到 {@link Parameter.value} 提供的默认值 * 转换失败时返回 null */ export declare function toArgumentValue(value: VmValue | null | undefined, definition: Parameter): ArgumentValue | null; /** 参数定义数组 */ type ParameterDefinitions = ReadonlyArray>; /** 查找指定参数 */ export declare function findParameter(definition: ParameterDefinitions | undefined, key: string): Parameter | undefined; /** 获取参数默认值,修复现有的参数,填充缺失的参数,删除未定义的参数 */ export declare function fillArgumentMap>(definition: ParameterDefinitions | undefined, args?: ArgumentMap | null): ArgumentMap; export {}; //# sourceMappingURL=utils.d.ts.map