import { NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[max]] node. * See the [[max]] documentation to find out more. */ export interface MaxNode extends StatelessGraphNode<'max', MaxNodeProperties> { } /** * A definition of the [[max]] node. * See the [[max]] documentation to find out more. */ export interface MaxNodeDefinition extends StatelessNodeDefinition<'max', MaxNodeProperties> { } export interface MaxNodeProperties { operands: Array; } /** * The implementation of the [[max]] node. * See the [[max]] documentation to learn more. */ export declare const MaxNodeType: StatelessNodeType<'max', MaxNodeProperties>; /** * Creates a new instance of a [[max]] node, which is a type of a [[NodeDefinition]] used when retrieving a maximum value * of given operands. The node expects the operands to be a [value](_nodes_graph_value_.html#value) node * that contains a numeric value. It work in a similar way as the `Math.max(...)` function from JS. * @returns {MaxNodeDefinition} * * * @example **Compute the maximum value** * ```js * import muster, { max, ref } from '@dws/muster'; * * const app = muster({ * zero: 0, * }); * * await app.resolve(max(1, ref('zero'), 0.5)); * // === '1' * ``` */ export declare function max(...operands: Array): MaxNodeDefinition; export declare function isMaxNodeDefinition(value: NodeDefinition): value is MaxNodeDefinition;