import { NodeDefinition, StatelessGraphNode, StatelessNodeDefinition, StatelessNodeType } from '../../types/graph'; import { SchedulerFactory } from './schedulers/types'; import { QueryBuilder } from './utils/query-builder'; export interface ProxyNode extends StatelessGraphNode<'proxy', ProxyNodeProperties> { } export interface ProxyNodeDefinition extends StatelessNodeDefinition<'proxy', ProxyNodeProperties> { } export interface ProxyNodeProperties { middlewares: Array; queryBuilder: QueryBuilder; schedulerFactory: SchedulerFactory; } export declare const ProxyNodeType: StatelessNodeType<'proxy', ProxyNodeProperties>; export interface ProxyOptions { scheduler?: SchedulerFactory; } export declare function proxy(middlewares: Array, options?: ProxyOptions): ProxyNodeDefinition; export declare function isProxyNodeDefinition(value: NodeDefinition): value is ProxyNodeDefinition; export declare type MiddlewareTransformer = (middlewares: Array, proxyNode: ProxyNode) => Array; export declare function setTransformMiddlewares(fn: MiddlewareTransformer): void;