import { type BiomeGeneratedContentFile, type BiomeBundleGeneratedIndex, type BiomeGeneratedIndex, type BiomeManifest, type GeneratedBiomeFacts } from '@xemahq/contracts/biome'; export interface GeneratedApiClientOwner { readonly packageName: string; readonly biomeId: string; readonly target: 'server' | 'web'; } export interface GeneratedImportSite { readonly packageName: string; readonly path: string; readonly line: number; } export interface DeriveGeneratedBiomeFactsInput { readonly biomeRoot: string; readonly manifestPath: string; readonly manifest: BiomeManifest; readonly evidenceRoot: string; readonly apiClientOwners?: readonly GeneratedApiClientOwner[]; readonly importSites?: readonly GeneratedImportSite[]; } export interface BiomeBundleFileSource { readonly files: readonly string[]; digest(path: string): string; readText(path: string): string; hasFile(path: string): boolean; listDirectory(dir: string, suffix: RegExp): readonly string[]; } export declare function deriveGeneratedBiomeFacts(input: DeriveGeneratedBiomeFactsInput): GeneratedBiomeFacts; export declare function assembleBiomeGeneratedIndex(biomes: readonly GeneratedBiomeFacts[]): BiomeGeneratedIndex; export interface BiomeBundleContentInput { readonly biomeRoot: string; readonly files: readonly string[]; } export interface BuildBiomeBundleGeneratedIndexInput extends Omit, BiomeBundleContentInput { } export declare const BIOME_WORKING_TREE_EXCLUDED_DIRS: ReadonlySet; export declare const BIOME_BUNDLE_EXCLUDED_FILES: ReadonlySet; export declare function collectBiomeWorkingTreeFiles(biomeRoot: string): readonly string[]; export interface BiomeBundleStreamedFile { readonly path: string; readonly sha256: string; readonly text: string | null; } export declare function computeBiomeBundleContent(input: BiomeBundleContentInput): { readonly algorithm: 'sha256'; readonly hash: string; readonly files: readonly BiomeGeneratedContentFile[]; }; export declare function buildBiomeBundleGeneratedIndex(input: BuildBiomeBundleGeneratedIndexInput): BiomeBundleGeneratedIndex; export declare enum BiomeBundleIndexRejection { Malformed = "malformed", ContentLedgerMismatch = "content-ledger-mismatch", FactsMismatch = "facts-mismatch" } export type BiomeBundleIndexVerdict = { readonly ok: true; readonly index: BiomeBundleGeneratedIndex; } | { readonly ok: false; readonly rejection: BiomeBundleIndexRejection; readonly message: string; }; export declare function verifyBiomeBundleGeneratedIndex(candidate: unknown, input: BuildBiomeBundleGeneratedIndexInput): BiomeBundleGeneratedIndex; export interface VerifyStreamedBiomeBundleInput { readonly files: readonly BiomeBundleStreamedFile[]; readonly manifest: BiomeManifest; readonly candidate: unknown; } export declare function verifyStreamedBiomeBundleIndex(input: VerifyStreamedBiomeBundleInput): BiomeBundleIndexVerdict; //# sourceMappingURL=biome-generated-index.d.ts.map