import { NodeDefinition, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[clear]] node. * See the [[clear]] documentation to find out more. */ export interface ClearNode extends StatelessGraphNode<'clear', ClearNodeProperties> { } /** * A definition of the [[clear]] node. * See the [[clear]] documentation for more information. */ export interface ClearNodeDefinition extends StatelessNodeDefinition<'clear', ClearNodeProperties> { } export interface ClearNodeProperties { target: NodeDefinition; } /** * The implementation of the [[clear]] node. * See the [[clear]] documentation for more information. */ export declare const ClearNodeType: StatelessNodeType<'clear', ClearNodeProperties>; /** * Creates a [[clear]] node, which is a type of a [[NodeDefinition]] used when clearing an [[arrayList]] node. * * @example **Clear an arrayList** * ```js * import muster, { arrayList, clear, entries, query, ref } from '@dws/muster'; * * const app = muster({ * items: [1, 2, 3], * }); * * // Check the arrayList before clearing it * await app.resolve(query(ref('items'), entries())); * // === [1, 2, 3]; * * await app.resolve(clear(ref('items'))); * * // Check the arrayList after clearing it * await app.resolve(query(ref('items'), entries())); * // === [] * ``` * This example shows how to use the [[clear]] node to clear the [[arrayList]]. */ export declare function clear(target: NodeDefinition): ClearNodeDefinition;