import type { NodeInstance, SplitInBatchesBuilder, SplitInBatchesFactoryConfig, NodeChain, IfElseBuilder, SwitchCaseBuilder } from '../../types/base'; export type NodeBatch = NodeInstance | Array>; export type BranchTarget = null | NodeInstance | NodeChain, NodeInstance> | Array | NodeChain, NodeInstance>> | IfElseBuilder | SwitchCaseBuilder | SplitInBatchesBuilder; export interface SplitInBatchesBranches { done: BranchTarget; each: BranchTarget; } declare class SplitInBatchesBuilderImpl implements SplitInBatchesBuilder { readonly sibNode: NodeInstance<'n8n-nodes-base.splitInBatches', string, unknown>; _doneNodes: Array>; _eachNodes: Array>; _doneBatches: NodeBatch[]; _eachBatches: NodeBatch[]; _hasLoop: boolean; _doneTarget?: BranchTarget; _eachTarget?: BranchTarget; constructor(input: SplitInBatchesFactoryConfig); onEachBatch(target: BranchTarget): this; onDone(target: BranchTarget): this; getAllNodes(): Array>; getDoneNodes(): Array>; getEachNodes(): Array>; hasLoop(): boolean; } export declare function splitInBatches(configOrNode: SplitInBatchesFactoryConfig | NodeInstance<'n8n-nodes-base.splitInBatches', string, unknown>, branches?: SplitInBatchesBranches): SplitInBatchesBuilder; export declare function isSplitInBatchesBuilder(value: unknown): value is SplitInBatchesBuilderImpl; export {};