/**
 * Utilities for recursively walking the block tree in an API definition.
 *
 * The block structure supports nesting via loop, tryCatch, conditional,
 * parallel, and stream containers. These helpers factor out that traversal
 * so callers only need to provide a per-step visitor callback.
 */
/**
 * Recursively walk every step in a block tree, invoking `visitor` for each
 * object that contains a `step` property (i.e. regular blocks and stream
 * triggers).
 *
 * Handles all nested block containers: loop, tryCatch (try/catch/finally),
 * conditional (if/elseIf/else), parallel (static paths + dynamic), and
 * stream (trigger + process).
 */
export declare function forEachStep(blocks: any[], visitor: (stepOwner: any) => void): void;
/**
 * Collect all external (non-built-in) integration IDs from an array of
 * blocks.
 */
export declare function extractIntegrationIdsFromBlocks(blocks: any[]): Set<string>;
/**
 * Replace steps whose integration ID is not in `availableIntegrationIds`
 * with a javascript stub.
 *
 * @returns The set of integration IDs that were sanitized.
 */
export declare function sanitizeBlockIntegrations(blocks: any[], availableIntegrationIds: Set<string>): Set<string>;
//# sourceMappingURL=block-traversal.d.ts.map