import type { EcoComponent, OwnershipPlanNodeSource } from '../../../types/public-types.js'; export type DeclaredOwnershipRoot = { component: EcoComponent; source: Extract; }; export type DeclaredOwnershipNodeInput = { component: EcoComponent; source: Exclude; parentIntegrationName: string; integrationName: string; componentId: string; isForeignToParent: boolean; }; export type ComponentGraphRoot = { component: EcoComponent | Partial; source?: Exclude; }; export type ComponentGraphWalkInput = { component: EcoComponent; parentIntegrationName: string; source?: Exclude; }; export declare function walkComponentGraph(input: { roots: ComponentGraphRoot[]; currentIntegrationName: string; visitLayout?: boolean; onComponent?: (node: ComponentGraphWalkInput) => void | boolean; onConfig?: (config: EcoComponent['config']) => void; }): void; export declare function mapComponentGraph(input: { roots: DeclaredOwnershipRoot[]; currentIntegrationName: string; mapNode: (node: DeclaredOwnershipNodeInput, children: T[]) => T; }): T[];