import { NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[includes]] node. * See the [[includes]] documentation to find out more. */ export interface IncludesNode extends StatelessGraphNode<'includes', IncludesNodeProperties> { } /** * A definition of the [[includes]] node. * See the [[includes]] documentation to find out more. */ export interface IncludesNodeDefinition extends StatelessNodeDefinition<'includes', IncludesNodeProperties> { } export interface IncludesNodeProperties { pattern: NodeDefinition; subject: NodeDefinition; } /** * The implementation of the [[includes]] node. * See the [[includes]] documentation to learn more. */ export declare const IncludesNodeType: StatelessNodeType<'includes', IncludesNodeProperties>; /** * Creates a new instance of a [[includes]] node, which is used when checking if a string contains a given pattern. The node * expects the subject to be a [[value]] that contains a string value. * * * @example **Check if a string includes a pattern** * ```js * import muster, { includes } from '@dws/muster'; * * const app = muster({}); * * await app.resolve(includes('wor', 'Hello world')); * // === true * * await app.resolve(includes('els', 'Hello world')); * // === false * ``` */ export declare function includes(pattern: NodeLike, subject: NodeLike): IncludesNodeDefinition; export declare function isIncludesNodeDefinition(value: NodeDefinition): value is IncludesNodeDefinition;