import type { EcoPagesAppConfig } from '../../../types/internal-types.js'; import type { OwnershipPlanNodeSource, OwnershipValidationError, EcoComponent } from '../../../types/public-types.js'; type OwnershipValidationInput = { currentIntegrationName: string; roots: Array<{ component: EcoComponent; source: Extract; }>; }; /** * Validates foreign ownership as soon as the route root graph is loaded. * * This check runs before route data and dependency preparation so ownership and * metadata problems are surfaced from the loaded component graph itself rather * than being entangled with ownership-plan construction. */ export declare class OwnershipValidationService { private readonly appConfig; /** * Creates the ownership validator for one finalized app config. */ constructor(appConfig: EcoPagesAppConfig); /** * Validates foreign ownership edges reachable from the supplied route roots. */ validate(input: OwnershipValidationInput): OwnershipValidationError[]; private isRegisteredIntegration; } /** * Throws when declared ownership validation collected one or more errors. */ export declare function throwIfOwnershipInvalid(validationErrors: OwnershipValidationError[]): void; export {};