import { NodeDefinition, NodeLike, StaticGraphNode, StaticNodeDefinition, StaticNodeType } from '../../types/graph'; import { EntriesNodeDefinition } from './entries'; import { FieldSetDefinition, FieldsNodeDefinition } from './fields'; import { WithTransformsNodeDefinition } from './with-transforms'; /** * An instance of the [[key]] node. * See the [[key]] documentation to find out more. */ export interface KeyNode extends StaticGraphNode<'key', KeyNodeProperties> { } /** * A definition of the [[key]] node. * See the [[key]] documentation to find out more. */ export interface KeyNodeDefinition extends StaticNodeDefinition<'key', KeyNodeProperties> { } export interface KeyNodeProperties { key: NodeDefinition; children?: FieldsNodeDefinition | EntriesNodeDefinition | WithTransformsNodeDefinition; } /** * The implementation of the [[key]] node. * See the [[key]] documentation to learn more. */ export declare const KeyNodeType: StaticNodeType<'key', KeyNodeProperties>; /** * Creates a new instance of a [[key]] node, which is a type of a [[NodeDefinition]] used as part of a [[query]] * to declare what node should be retrieved from the graph. A key can contain children. * See the **Basic query** example from the [[query]] documentation to learn more. */ export declare function key(key: NodeDefinition | NodeLike, children?: EntriesNodeDefinition | FieldsNodeDefinition | FieldSetDefinition | WithTransformsNodeDefinition): KeyNodeDefinition; export declare function isKeyNodeDefinition(value: NodeDefinition): value is KeyNodeDefinition;