import { type IAuditable } from "../../../base/metadata.js"; import { type IMetadataObject, type IMetadataObjectDefinition } from "../types.js"; /** * Parameter metadata object. * * @public */ export interface IParameterMetadataObject extends IMetadataObject, IAuditable { type: "parameter"; definition: IParameterDefinition; areRelationsValid?: boolean; isLocked?: boolean; } /** * Parameter metadata object definition. * * @public */ export interface IParameterMetadataObjectDefinition extends IMetadataObjectDefinition { type: "parameter"; definition: IParameterDefinition; } /** * Parameter definition. * * @public */ export type IParameterDefinition = INumberParameterDefinition; /** * Number parameter definition. * * @public */ export interface INumberParameterDefinition { type: "NUMBER"; defaultValue: number; constraints?: INumberParameterConstraints; } /** * Number parameter constraints. * * @public */ export interface INumberParameterConstraints { min?: number; max?: number; } /** * Tests whether the provided object is of type {@link IParameterMetadataObject}. * * @param obj - object to test * @public */ export declare function isParameterMetadataObject(obj: unknown): obj is IParameterMetadataObject; /** * Tests whether the provided object is of type {@link IParameterMetadataObjectDefinition}. * * @param obj - object to test * @public */ export declare function isParameterMetadataObjectDefinition(obj: unknown): obj is IParameterMetadataObjectDefinition; /** * Tests whether the provided parameter definition is a {@link INumberParameterDefinition}. * * @param def - parameter definition to test * @alpha */ export declare function isNumberParameterDefinition(def: IParameterDefinition): def is INumberParameterDefinition; //# sourceMappingURL=index.d.ts.map