import { NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[floor]] node. * See the [[floor]] documentation to find out more. */ export interface FloorNode extends StatelessGraphNode<'floor', FloorNodeProperties> { } /** * A definition of the [[floor]] node. * See the [[floor]] documentation to find out more. */ export interface FloorNodeDefinition extends StatelessNodeDefinition<'floor', FloorNodeProperties> { } export interface FloorNodeProperties { target: NodeDefinition; } /** * The implementation of the [[floor]] node. * See the [[floor]] documentation to learn more. */ export declare const FloorNodeType: StatelessNodeType<'floor', FloorNodeProperties>; /** * Creates a new instance of a [[floor]] node, which is a type of a [[NodeDefinition]] used when converting a number * (int or float) to a largest integer lower or equal to the current number. * It works in the same way as the `Math.floor` from JavaScript. * @returns {FloorNodeDefinition} * * * @example **Floor the value** * ```js * import muster, { floor, ref } from '@dws/muster'; * * const app = muster({ * fivePointThree: 5.3, * }); * * await app.resolve(floor(5)); * // === 5 * * await app.resolve(floor(5.2)); * // === 5 * * await app.resolve(floor(ref('fivePointThree'))); * // === 5 * ``` */ export declare function floor(target: NodeLike): FloorNodeDefinition; export declare function isFloorNodeDefinition(value: NodeDefinition): value is FloorNodeDefinition;