import { SystemError } from '@opensip-cli/core'; export interface StableFilesBuildInput { readonly files: readonly string[]; /** * A fingerprint already used to classify an incremental build. Reusing it * binds that classification decision to the same snapshot as the build. */ readonly initialFingerprint?: string; readonly build: (attempt: number) => Promise; } export interface StableFilesBuildOutput { readonly value: T; readonly filesFingerprint: string; } export declare function sourceFilesChangedDuringBuildError(): SystemError; /** * Build against a stable source-file snapshot. If source metadata changes * while the build is running, retry once; repeated churn fails instead of * stamping stale parsed content with the newer fingerprint. * * @throws {SystemError} `GRAPH.CATALOG.SOURCE_CHANGED_DURING_BUILD` if the * source-file fingerprint differs before/after the build on every attempt * up to {@link MAX_BUILD_ATTEMPTS} (persistent churn, not a one-off change). */ export declare function buildAgainstStableFiles(input: StableFilesBuildInput): Promise>; //# sourceMappingURL=stable-files-build.d.ts.map