import { type ProjectReadBoundary } from "../io/bootstrap-write-boundary.js"; import type { FixedGitRunner } from "./fixed-git.js"; import type { GitIdentity } from "./ci-reverification-identity.js"; import { type SourceIdentity } from "./source-identity-types.js"; export { SOURCE_IDENTITY_EXCLUSIONS, SOURCE_IDENTITY_SCHEMA, parseSourceIdentity, sameSourceIdentity, } from "./source-identity-types.js"; export type { SourceIdentity } from "./source-identity-types.js"; export type SourceIdentityEntry = { readonly kind: "directory"; readonly mode: string; readonly path: string; } | { readonly classification: "tracked" | "untracked"; readonly contentDigest: string; readonly kind: "file"; readonly mode: string; readonly path: string; } | { readonly kind: "missing-tracked"; readonly path: string; }; type SourceIdentityLimits = { readonly additionalExcludedRoots?: readonly string[]; readonly gitRunner?: FixedGitRunner; readonly projectReadBoundary?: ProjectReadBoundary; readonly maxEntries?: number; readonly maxFileBytes?: number; readonly maxTotalBytes?: number; }; type UnavailableSourceIdentity = { readonly diagnosticCode: string; readonly status: "unavailable"; }; type SourceIdentityCapture = UnavailableSourceIdentity | { readonly status: "available"; readonly value: SourceIdentity; }; export declare function captureSourceIdentity(projectDir: string, git: GitIdentity, evidenceRelativePath: string, overrides?: SourceIdentityLimits): SourceIdentityCapture; export declare function captureSourceIdentityEntries(projectDir: string, git: GitIdentity, evidenceRelativePath: string, overrides?: SourceIdentityLimits): { readonly diagnosticCode: string; readonly status: "unavailable"; } | { readonly status: "available"; readonly value: readonly SourceIdentityEntry[]; };