import { NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[pow]] node. * See the [[pow]] documentation to find out more. */ export interface PowNode extends StatelessGraphNode<'pow', PowNodeProperties> { } /** * A definition of the [[pow]] node. * See the [[pow]] documentation to find out more. */ export interface PowNodeDefinition extends StatelessNodeDefinition<'pow', PowNodeProperties> { } export interface PowNodeProperties { base: NodeDefinition; exponent: NodeDefinition; } /** * The implementation of the [[pow]] node. * See the [[pow]] documentation to learn more. */ export declare const PowNodeType: StatelessNodeType<'pow', PowNodeProperties>; /** * Creates a new instance of a [[pow]] node, which is a type of [[NodeDefinition]] used to compute * the `base` to the `exponent` power for number-based [values](_nodes_graph_value_.html#value). * The [[pow]] takes two arguments: base and exponent.. * @returns {PowNodeDefinition} * * * @example **Power of two** * ```js * import muster, { pow, ref } from '@dws/muster'; * * const app = muster({ * five: 5, * two: 2, * }); * * const result = await app.resolve( * pow(ref('five'), ref('two')), * ); * // result === 25 * ``` * This example shows how to use [[pow]] node. */ export declare function pow(base: NodeLike, exponent: NodeLike): PowNodeDefinition; export declare function isPowNodeDefinition(value: NodeDefinition): value is PowNodeDefinition;