import { NodeDefinition, NodeLike, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; /** * An instance of the [[sentenceCase]] node. * See the [[sentenceCase]] documentation to find out more. */ export interface SentenceCaseNode extends StatelessGraphNode<'sentence-case', SentenceCaseNodeProperties> { } /** * A definition of the [[sentenceCase]] node. * See the [[sentenceCase]] documentation to find out more. */ export interface SentenceCaseNodeDefinition extends StatelessNodeDefinition<'sentence-case', SentenceCaseNodeProperties> { } export interface SentenceCaseNodeProperties { subject: NodeDefinition; } /** * The implementation of the [[sentenceCase]] node. * See the [[sentenceCase]] documentation to learn more. */ export declare const SentenceCaseNodeType: StatelessNodeType<'sentence-case', SentenceCaseNodeProperties>; /** * Creates a new instance of a [[sentenceCase]] node, which is used when converting a string to a sentence case string. * The node expects the subject to be a [[value]] that contains a string value. It works in a * similar way to the `upperFirst` function from `lodash`. * * * @example **Convert string to upper case** * ```js * import muster, { sentenceCase } from '@dws/muster'; * * const app = muster({}); * * await app.resolve(sentenceCase('hello world')); * // === 'Hello world' * * await app.resolve(sentenceCase('Hello World')); * // === 'Hello World' * * await app.resolve(sentenceCase('hello WORLD')); * // === 'Hello WORLD' * ``` */ export declare function sentenceCase(subject: NodeLike): SentenceCaseNodeDefinition; export declare function isSentenceCaseNodeDefinition(value: NodeDefinition): value is SentenceCaseNodeDefinition;