import { StorageElementType, StepLabelPropsType } from '@drincs/pixi-vn'; /** * A middleware handler that can intercept and transform a logic value before it is * returned by {@link VariableGetter.getLogichValue}. * * Handlers are called in registration order, each receiving the current value and a * `next` function to invoke the rest of the chain (including the built-in resolver). * Return `undefined` to fall through to `next`. */ type VariableGetterHandler = (value: T, next: (value: T) => T | undefined) => T | undefined; declare namespace VariableGetter { /** * Registers a new middleware handler into the resolution chain. * Handlers are invoked in the order they were added. * * @param handler - The middleware handler to register. */ function add(handler: VariableGetterHandler): void; /** * Removes all registered middleware handlers, restoring the default resolution behaviour. */ function clear(): void; /** * Resolves a JSON logic value, running it through all registered middleware handlers * before falling back to the built-in storage/arithmetic/condition evaluator. * * @param value - The value or logic expression to resolve. * @param props - The current step label props passed to each handler. * @returns The resolved value, or `undefined`. */ function getLogichValue(value: any, props?: StepLabelPropsType): T | undefined; } export { VariableGetter as V, type VariableGetterHandler as a };