import type { ArgumentValue } from '@cloudpss/expression/definitions'; import type { LiteralUnion } from 'type-fest'; import type { PinDefinition } from './pin.js'; const _InputType = Object.freeze(['constant', 'variable'] as const); /** * 表示参数允许的输入类型 * * - constant: 接受字面量和常量表达式 * - variable: 接受字面量和变量值 */ export const InputType: readonly InputType[] = _InputType; /** * 表示参数允许的输入类型 * * - constant: 接受字面量和常量表达式 * - variable: 接受字面量和变量值 */ export type InputType = LiteralUnion<(typeof _InputType)[number], string>; declare module '@cloudpss/expression/definitions' { /** @inheritdoc */ // eslint-disable-next-line @typescript-eslint/no-unused-vars export interface ParameterBase { /** SimStudio */ /** 参数输入类型 */ input?: InputType; } /** 表示值为引脚的参数定义 */ export interface PinLikeParameter extends ParameterBase<'pinLike', string>, Pick {} /** @inheritdoc */ export interface ParameterMap { /** 表示值为引脚的参数定义 */ pinLike: PinLikeParameter; } } export type { PinLikeParameter } from '@cloudpss/expression/definitions';