import { GraphNode, GraphOperation, NodeDefinition, StatelessNodeType } from '../../types/graph'; import { OperationPathPart, QueryBuilder } from '../remote/utils/query-builder'; export interface ItemOperationResult { node: NodeDefinition; pathPart: OperationPathPart; } /** * An instance of the [[itemPlaceholder]] node. * See the [[itemPlaceholder]] documentation to find out more. */ export interface ItemPlaceholderNode extends GraphNode<'item-placeholder', ItemPlaceholderNodeProperties> { } /** * A definition of the [[itemPlaceholder]] node. * See the [[itemPlaceholder]] documentation to find out more. */ export interface ItemPlaceholderNodeDefinition extends NodeDefinition<'item-placeholder', ItemPlaceholderNodeProperties> { } export interface ItemPlaceholderNodeProperties { results: Array; isEmpty: boolean; path: Array; queryBuilder: QueryBuilder; } /** * An implementation of the [[itemPlaceholder]] node. * See the [[itemPlaceholder]] documentation to find out more. */ export declare const ItemPlaceholderNodeType: StatelessNodeType<'item-placeholder', ItemPlaceholderNodeProperties>; /** * Creates a new instance of the [[itemPlaceholder]] node. This node is used internally by [[proxy]] and [[placeholder]] * nodes to enable queries against collection items. The [[itemPlaceholder]] node is responsible for gathering information * about which operations are subscribed to items from a given 'remote' collection, and what parameters were used when * calling given operation. */ export declare function itemPlaceholder(queryBuilder: QueryBuilder, path: Array, results: Array, isEmpty?: boolean): ItemPlaceholderNodeDefinition; export declare function isItemPlaceholderNodeDefinition(value: NodeDefinition): value is ItemPlaceholderNodeDefinition;