import GraphModelMigrationBasis from './GraphModelMigrationBasis.ts';
import GraphModelMigrationContentSource from './GraphModelMigrationContentSource.ts';
import GraphModelMigrationNotice from './GraphModelMigrationNotice.ts';
import GraphModelMigrationPatchDescriptor from './GraphModelMigrationPatchDescriptor.ts';
import GraphModelMigrationStateSnapshotReference from './GraphModelMigrationStateSnapshotReference.ts';
import GraphModelMigrationWriterChainDescriptor from './GraphModelMigrationWriterChainDescriptor.ts';
export type GraphModelMigrationSourceInventoryFields = {
    readonly graphId: string;
    readonly sourceBasis?: GraphModelMigrationBasis | null;
    readonly writerChains: readonly GraphModelMigrationWriterChainDescriptor[];
    readonly patchDescriptors: readonly GraphModelMigrationPatchDescriptor[];
    readonly stateSnapshot?: GraphModelMigrationStateSnapshotReference | null;
    readonly contentSources: readonly GraphModelMigrationContentSource[];
    readonly warnings: readonly GraphModelMigrationNotice[];
    readonly fatalErrors: readonly GraphModelMigrationNotice[];
};
/** Runtime-backed source fact inventory for dry-run graph-model migration. */
export default class GraphModelMigrationSourceInventory {
    readonly graphId: string;
    readonly sourceBasis: GraphModelMigrationBasis | null;
    readonly writerChains: readonly GraphModelMigrationWriterChainDescriptor[];
    readonly patchDescriptors: readonly GraphModelMigrationPatchDescriptor[];
    readonly stateSnapshot: GraphModelMigrationStateSnapshotReference | null;
    readonly contentSources: readonly GraphModelMigrationContentSource[];
    readonly warnings: readonly GraphModelMigrationNotice[];
    readonly fatalErrors: readonly GraphModelMigrationNotice[];
    constructor(fields: GraphModelMigrationSourceInventoryFields);
    /** Returns true when collection found planning-blocking source problems. */
    hasFatalErrors(): boolean;
    /** Returns true when the inventory can be used by a dry-run planner. */
    isUsableForPlanning(): boolean;
}
