import type { IConstruct } from 'constructs'; import type { CfnResource } from '../cfn-resource'; /** * Depth-first iterator over the construct tree * * Replaces `node.findAll()` which both uses recursive function * calls and accumulates into an array, both of which are much slower * than this solution. */ export declare function iterateDfsPreorder(root: IConstruct): Generator; /** * Depth-first iterator over CFN resources under the given construct, including the construct itself * * Will break at stack boundaries that logically form a different deployment unit: nested Stacks, * NestedStacks and Stages. * * Replaces `node.findAll()` which both uses recursive function * calls and accumulates into an array, both of which are much slower * than this solution. */ export declare function iterateStackCfnResources(root: IConstruct): IterableIterator; /** * Depth-first iterator over the construct tree (post-order version) * * Replaces `node.findAll()` which both uses recursive function * calls and accumulates into an array, both of which are much slower * than this solution. */ export declare function iterateDfsPostorder(root: IConstruct): Generator; /** * Breadth-first iterator over the construct tree */ export declare function iterateBfs(root: IConstruct): Generator<{ construct: IConstruct; parent: IConstruct | undefined; }, void, unknown>;