/** * Partition dial wiring shared by `pgpm transform --partition` and * `pgpm export --partition`: parse a partition config file, run * `partitionUnits` (`@pgpmjs/transform`), and lift the emitted packages back * onto the PgpmRow seam with generated revert/verify per change. */ import { PgpmRow } from '@pgpmjs/ast'; import { PartitionConfig } from './partition-driver'; export type { PartitionConfig } from './partition-driver'; /** * Parse and validate a partition config file (JSON matching * `PartitionConfig`: rules, defaultPackage, optional style/splitRiders). * Throws with a message naming the offending field. */ export declare const parsePartitionConfig: (filePath: string) => PartitionConfig; /** One partitioned package on the PgpmRow seam, ready to write to disk. */ export interface PartitionedPackageRows { name: string; /** Package names this package requires (cross-package edges). */ requires: string[]; rows: PgpmRow[]; } export interface PartitionExportRowsResult { packages: PartitionedPackageRows[]; warnings: string[]; } /** * Partition changes into packages and generate revert/verify for every * emitted change. Cross-package dependencies keep the `:` * convention in `deps`. May throw `PartitionCycleError`. */ export declare const partitionExportRows: (rows: PgpmRow[], config: PartitionConfig) => Promise;